アプリ版:「スタンプのみでお礼する」機能のリリースについて

動作環境
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接続時に何かしらプロパティの設定が必要なのでしょうか?

上記エラーの回避策をご存知の方がいらっしゃいましたら、ご教授願います。

A 回答 (1件)

ファーストインプレッションとしては、



トランザクションログのトラブルですね。まず、DBのログを確認後、トランザクションログのトラブルシューティングをしてください。

http://msdn.microsoft.com/ja-jp/library/ms191433 …

http://msdn.microsoft.com/ja-jp/library/ms345583 …

ファイルが正当で無い。壊れている、などたさくんありますよね。まてよ、何も設定していないとか???

こてのログは、飛行機やタクシーなどのフライト/ドライブレコーダーと一緒です。ご存知ですよね。


Beginとは、ドライブレコーダーのRecを始めたと言うことです。

それから次のステップの検証にうつりましょう

この回答への補足

早速のご回答ありがとうございます。

なるほど。。 参照先を元にDBの設定を確認してみます。

補足日時:2011/12/19 16:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!