web-dev-qa-db-ja.com

ODBC(SQL Server):システムDSNの複数のアクティブな結果セット(MARS)をオンにするにはどうすればよいですか?

ODBCデータソースに対して複数のアクティブな結果セットをオンにする必要がありますが、設定方法がわかりません。

そして、ウィザードの終わりに、構成の概要にこれが表示されます。

複数のアクティブな結果セット(MARS):いいえ

3
mikerobi

アプリがこの機能を利用するように特別に設計されている場合は、アプリの接続文字列でMARSを有効にすることをお勧めします。

そうは言っても、DSNを作成した後、DSNのレジストリエントリを編集できます。

\HKLM\Software\ODBC\ODBC.INI\MyDSN

文字列値を追加します。

名前-MARS_Connection
値-はい

ただし、これを行うには非常に注意する必要があります。アプリがMARSを使用するように設計されていない場合、DSNを使用していると、アプリが破損します。

5
squillman

以下の行を使用してバッチファイルを作成するか、CMDプロンプトで以下の行を実行します。これにより、MARS_ENABLE = Yesの既存のDSNが変更されます。

odbcconf/a {CONFIGSYSDSN "XXX" "DSN = YYY | MARS_Connection = YES"}

注意:* XXXをODBCドライバー(私の場合はSQL Server Native Client 10.0)に置き換えます)* YYYをDSN名に置き換えます(私の場合はMYTESTDSNでした)*実行後コマンド(スクリプトまたはcmdプロンプトを使用)で、既存のDSNを.configureオプションで確認して結果を確認します。

1
Mohan