Thread View: fj.lang.visualbasic
2 messages
2 total messages
Started by Hirofumi
Sun, 18 Jan 1998 00:00
ODBC呼び出し失敗(トランザクション)
Author: Hirofumi
Date: Sun, 18 Jan 1998 00:00
Date: Sun, 18 Jan 1998 00:00
51 lines
2064 bytes
2064 bytes
はじめまして。 サーバとクライアント双方にNT4.0を使用しています。 サーバ上でSQLサーバを稼動し、クライアントからVBを使用してアクセス するプログラムを作成していますが、次のようなコードを実行すると 実行時エラー 3146(ODBC呼び出しは失敗しました) が発生します。 要約すると、トランザクション中であるテーブルをオープンし、追加・変更を 行った後クローズし、後程オープンし直そうとするとエラーがおきます。 SQLサーバへはACCESSのMDBでテーブルをリンクさせ、 Jet経由でアクセスしています。 SQLサーバにあるテーブルをローカルのMDBに作成して同じ操作を 実行した場合はもんだいなくどうさします。 そこで質問ですが、 1、原因はなんでしょう? 2、この現象に遭った方、どのように回避されたのでしょうか(代替案など) 以下、サンプルです。 dim DB as database dim SQL as string dim REC as Recordset dim DBNAME as string DBNAME="C\Projects\DB\TEST.mdb" set DB = DBEngine.Workspaces.OpenDatabase(DBNAME) DBEngine.Workspaces(0).BeginTrans SQL = "Select * From Table1" set REC = DB.OpenRecordset(SQL,dbOpenDynaset) REC.Addnew REC.Fields(0) = 9999 REC.Fields(1) = 1111 REC.Update REC.Close 'テーブルをいったんクローズ 'ここでDBとは関係ない処理をしばらく行う ’同じテーブルをオープン SQL = "Select * From Table1" set REC = DB.OpenRecordset(SQL,dbOpenSnapshot)'!!!ここでエラー 以上、よろしくお願いいたします。
Re: ODBC呼び出し失敗(トランザクション)
Author: 長久保
Date: Mon, 19 Jan 1998 00:00
Date: Mon, 19 Jan 1998 00:00
23 lines
1121 bytes
1121 bytes
Hirofumi <bintang@mitene.or.jp> wrote in article <34C2164F.51DD9316@mitene.or.jp>... (略) > set DB = DBEngine.Workspaces.OpenDatabase(DBNAME) > > DBEngine.Workspaces(0).BeginTrans > > SQL = "Select * From Table1" > set REC = DB.OpenRecordset(SQL,dbOpenDynaset) > > REC.Addnew > REC.Fields(0) = 9999 > REC.Fields(1) = 1111 > REC.Update > > REC.Close 'テーブルをいったんクローズ CommitTrans をやってないからとかいう問題じゃないですよね -- よろずや kin-chan
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads