VB2005 Express SQLServer2003で開発している初心者です。
ループをし、その中でDBへの登録を行いたいと思い、下記のようにコーディング
しましたところ、2回目で下記のエラーになりました。
このカーソルの種類を使用している場合は、トランザクションに複数の Recordset を含むことはできません。カーソルの種類を変更する、トランザクションをコミットする、または Recordset のいずれかを閉じてください。
自分なりに調べて、接続文字列を変数Bにしたところ、エラーが発生しなくなりました。
どうして変数Aだとエラーで、変数Bだとエラーにならないのでしょうか。
すみませんが、どなたかご教授下さい。宜しくお願いします。
変数A="DRIVER=SQL Server;UID=aaa;DATABASE=ccc;Password=bbb;SERVER=ddd"
変数B="Provider=SQLOLEDB.1;Password=bbb;Persist Security Info=True;User ID=aaa;Initial Catalog=ccc;Data Source=ddd"
Dim cn As New ADODB.Connection
cn.Open(変数A)
cn.BeginTrans()
For intCnt = 0 To intRow - 1
SQL文作成
cn.Execute(作成したSQL文)
Next
cn.CommitTrans()
No.1ベストアンサー
- 回答日時:
>このカーソルの種類を使用している場合は、トランザクションに複数の Recordset を含むことはできません。
カーソルの種類を変更する、トランザクションをコミットする、または Recordset のいずれかを閉じてください。このエラーは、SQL Server2003だから仕方ないみたいですね。
「SQL Server 2005 では、データベース エンジンにアクセスするアプリケーションで複数のアクティブな結果セット (MARS) がサポートされるようになりました」と下のURLにあります。
http://msdn.microsoft.com/ja-jp/library/ms131686 …
>変数A="DRIVER=SQL Server;UID=aaa;DATABASE=ccc;Password=bbb;SERVER=ddd"
>変数B="Provider=SQLOLEDB.1;Password=bbb;Persist Security Info=True;User ID=aaa;Initial Catalog=ccc;Data Source=ddd"
変数AはODBC接続、変数BはOledb経由の接続。
変数Bでのみうまく動くのは、SQLOLEDB側で対応できているからでは?
お礼が遅くなってすみません。少しばかり体調を崩してまして。
なるほど。SQLOLEDBでの対応ですか。
もう少し勉強してみます。
ご回答いただき有難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルVBA_ADO「ファイアホースモードの間はトランザクションを開
Visual Basic(VBA)
-
トランザクションの開始
Visual Basic(VBA)
-
VBの画面サイズについて
Visual Basic(VBA)
-
-
4
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
5
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
6
ファイアホースモードエラーについて
SQL Server
-
7
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヤフーショッピングでPayPay支...
-
リコーimagioneo630 エラーs...
-
ディスク上のサイズの乖離が大...
-
LinuxからWindowsへのリストア...
-
階層型データベースとVSAM...
-
Windows版 pg_dumpの結果をログ...
-
oracle spool SJIS → UTF-8
-
AWSのcloud9で「 ls -l ~/.ssh/...
-
エクセルのデータをアクセスに...
-
pg_restoreの-Cオプションについて
-
shellからpostgresqlへの変数の...
-
エクセルVBAでcommit,rollback
-
Windows上のPostgreSQLの完全削...
-
\\copyコマンドでのCSV取り込み...
-
ACCESSのレコードを削除しても...
-
ACCESSのフォームだけを起動す...
-
新規作成したPostgresqlデータ...
-
AS400でのライブラリ配下の全て...
-
アクセスで、OLEサーバーも...
-
ACCESS VBA;コマンドボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヤフーショッピングでPayPay支...
-
socket のエラー
-
リコーimagioneo630 エラーs...
-
ソケットの異常終了について
-
C#で大量のデータを扱うソフト...
-
トランザクションの開始
-
エクセルVBA_ADO「ファイアホー...
-
関数引数に対する制限値チェッ...
-
SQLServerへの接続子による違い...
-
MPI
-
更新不要はどういう意味なので...
-
MT4のOrderSendでエラーになり...
-
fortranで文字列と数値が混在し...
-
BASP21送信エラーVB.NET
-
マインクラフトエラー
-
e-Taxで申告書送信ができません
-
CloseHandleのエラーについて
-
Windows10更新アシスタントでエ...
-
VB6からADOを介してAC...
-
VB.NET Webアプリケーションの...
おすすめ情報