前回に引き続き、.netの質問です。
下記のコードを書きましたが、
トランザクションがひらけません。
どこが間違ってるのでしょうか?
わかる方いらっしゃいましたら、よろしくお願いします。
Public Const ObjCnStr As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=XXXXXX;" & _
"PORT=3306;" & _
"DATABASE=XXXXX;" & _
"UID=XXX;" & _
"PASSWORD=XXX;" & _
"OPTION=3"
Public ObjCn As OdbcConnection
Public ObjTran As OdbcTransaction
Public ObjCmd As OdbcCommand
Public Function MakeDatabase() As Boolean
Try
MakeDatabase = False
'接続文字列を作成して接続を開始する
ObjCn = New OdbcConnection(ObjCnStr)
ObjCn.Open()
ObjTran = ObjCn.BeginTransaction
Catch
'エラーの内容を出力
MessageBox.Show(Err.Description, _
"例外", _
MessageBoxButtons.OK, _
MessageBoxIcon.Error)
End Try
MakeDatabase = True
End Function
MySQL のトランザクション・・・
MySQL-MAX は、トランザクション機能はある・・・との記述を
見つけました。そこには、通常のMySQL には、トランザクション
なし・・・ともありました。
よって、ダウンロードされたものがMySQL であれば、バージョン
にもよりますが、トランザクション機能は持っていない為だと思
います。
また、4.x系や、ソフトエージェンシー殿が販売されているもの
だと、最初からトランザクション機能が使えるようです。
MySQL には、MLや話題が沢山ありますので、そちらで検索され
た方が、より詳しい内容が得られると思いますが・・・
以上。
訂正が1ツ・・・
MySQL-MAX ですが、3.23.xx にも同梱されています。
インストール後のMySQL-MAXへの移行手順が記載されていたサイトを
見つけました。
http://wiz.syscon.co.jp/winmysql.html
因みに、MySQL-MAXに入替えても、トランザクション機能の部分で、
エラーしますか?
以上。
岡田さん、何度もありがとうございます。
MYSQL-MAXには、まだ変えてません。
プロジェクトリーダに相談してみます。
トランザクション処理ができないというのは、
かなりしんどいですね。
エラーが起きてしまった場合、手動(ロジック)で
Rollbackするっていうのは、かなり怖いです。
たぶん、MAXに変えると思いますので
その際は、またご報告します。
何度もありがとうございました。