- 締切済み
(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接続時に何かしらプロパティの設定が必要なのでしょうか? 上記エラーの回避策をご存知の方がいらっしゃいましたら、ご教授願います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- lupin-333333
- ベストアンサー率31% (294/933)
ファーストインプレッションとしては、 トランザクションログのトラブルですね。まず、DBのログを確認後、トランザクションログのトラブルシューティングをしてください。 http://msdn.microsoft.com/ja-jp/library/ms191433.aspx http://msdn.microsoft.com/ja-jp/library/ms345583.aspx ファイルが正当で無い。壊れている、などたさくんありますよね。まてよ、何も設定していないとか??? こてのログは、飛行機やタクシーなどのフライト/ドライブレコーダーと一緒です。ご存知ですよね。 Beginとは、ドライブレコーダーのRecを始めたと言うことです。 それから次のステップの検証にうつりましょう
補足
早速のご回答ありがとうございます。 なるほど。。 参照先を元にDBの設定を確認してみます。