初めまして、CL11と申します。
現在VB.NETでMySQLを利用するWebアプリケーションを開発しているのですが、トランザクションの開始(bigin)する箇所で、
Transactions are not enabled
というエラーが表示されプログラムが終了されてしまいます。
WindowsXP Pro
Visual Studio.NET
MySQL 4.0.15
(MAXを使用、テーブル作成時にtype=innodbを指定)
MySQL ODBC 3.51
(オプションの設定でDisable TransactionsのチェックはOFF)
上記のような環境で開発作業を行っております。
トランザクションを利用しないテーブルの読み書きではエラーは発生していません。
対策がありましたらご教授下さい。よろしくお願いします。
トランザクションの開始は、.NETの方のものをお使いですか?
それとのMySQLの方ですか?
.NETであれば、.NET Framewirk 1.1 からでないと使えませんヨ!
HELPには、そのように記述されていますが・・・
VisualStudio.NET と言う記述はあいまいです・・・
2002 とか 2003 とかであれば、当然、.NET Framework のバージョン
も 1.0 か 1.1 と判断できるのですが。
もし、.NET Framework 1.1 を使っていて、トランザクション設定
の部分で、エラーしているならば、やはりMySQLの方の設定に間違い
があるのでは?
ご検討下さい。
以上。
岡田さん アドバイスありがとうございます。
当方VisualStudio.NET2002で.NET Framework 1.0を使用しております。
ご指摘の通りOdbcTransactionが使用できるのは.NET Framework 1.1となっております。
.NET Framework 1.0ではOdbcTransactionは存在しないためOdbcCommandのExecuteNonQuery()で
SET AUTOCOMMIT=0;
BEGIN;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;
をCommandTextにしてMySQLに渡せば何とかトランザクションが利用出来ないかと思い試していた次第です。
CommandText渡しでトランザクションが利用できる、出来ないをご存じでしたら教えて頂けないでしょうか?
よろしくお願いします。
.NET Framework 1.0でのトランザクション利用は手詰まり状態なので、岡田さんのアドバイスの通り、早速.NET Framework 1.1をインストールしてOdbcTransactionを試してみます。
CL11です。
岡田さん のアドバイス通り、.NET Framework 1.1をインストールしてトランザクションを試しました。
結果無事トランザクション開始することが出来ました。
岡田さん 本当にありがとうございました。
恥ずかしい話ですが、何故.NET Framework 1.0に執着していたのか不思議でなりません、、、本当にありがとうございました。
ツイート | ![]() |