• 締切済み

(Windows7)VB6でODBC接続エラー

動作環境 OS:Windows7(64bit) DB:SQL2008 Express(SP1) VB6ランタイム適用済 お世話になります。 自作のVB6EXEをWindows7で実行したところ、下記のエラーが発生してしまいます。 ErrNo:-2147168242 メッセージ:アクティブなトランザクションがありません。 ソース上のどこで発生しているのか調べたところDBのCommit時に発生 していました。 ソース:  BeginTrans  Insert文  CommitTrans  ←ここでエラー エラーにはなるのですが、Insert文の内容はDBに反映されます。 また、BeginTrans、CommitTransを使用せず、Update、Insertのみを実行した 場合はエラーは発生しません。(DBにも値が登録されます) 現状、RollbackTransができない状態です。 以下は試してみたがダメだった内容です。  ・XPやVistaでは正常に動作していたので、互換モードをVistaに設定して実行  ・Windows7(32bit)で実行 調べていて、ODBCはデフォルトで自動コミットするという記載を見かけたのですが、 DB接続時に何かしらプロパティの設定が必要なのでしょうか? 上記エラーの回避策をご存知の方がいらっしゃいましたら、ご教授願います。

みんなの回答

回答No.1

ファーストインプレッションとしては、 トランザクションログのトラブルですね。まず、DBのログを確認後、トランザクションログのトラブルシューティングをしてください。 http://msdn.microsoft.com/ja-jp/library/ms191433.aspx http://msdn.microsoft.com/ja-jp/library/ms345583.aspx ファイルが正当で無い。壊れている、などたさくんありますよね。まてよ、何も設定していないとか??? こてのログは、飛行機やタクシーなどのフライト/ドライブレコーダーと一緒です。ご存知ですよね。 Beginとは、ドライブレコーダーのRecを始めたと言うことです。 それから次のステップの検証にうつりましょう

Rtarou
質問者

補足

早速のご回答ありがとうございます。 なるほど。。 参照先を元にDBの設定を確認してみます。

関連するQ&A