2

PEAR MDB2 sqlsrv ドライバーを使用して、windows sql azure データベースに接続したいと考えています。

これを使用して非連合データベースに接続できます

sqlsrv://username@server:password@server.database.windows.net:1433/mydatabase

しかし、連合データベースでは設定する必要があります

"MultipleActiveResultSets" => false

これも接続文字列で..

この余分なパラメータを渡すにはどうすればよいですか..助けてください


sqlsrv://username@server:password@server.database.windows.net:1433/mydatabase?op‌ tions="MultipleActiveResultSets=false"

これは余分な値を送信する正しい方法ですか?

4

2 に答える 2

0

私はこのようにしてみました。

sqlsrv://username@server:password@server.database.windows.net:1433/mydatabase?MultipleActiveResultSets=false

しかし、接続が行われていません。Pear の最新の安定バージョンは 2.4.1 だと思います。そのsqlsrvドライバーでは利用できません。sqlsrv ドライバーは、Pear 2.5 ベータ版でのみ使用できます。

于 2013-07-26T09:40:08.613 に答える
0

MDB2 DSNドキュメントには、次のように記載されています。

option: URI クエリ文字列形式の追加の接続オプション。オプションは & で区切られます。

指定された DSN の文字列形式は、次の完全な形式です。

phptype(dbsyntax)://username:password@protocol+hostspec/database?option=値

したがって、オプションは次のように渡す必要があります

sqlsrv://username@server:password@server.database.windows.net:1433/mydatabase?MultipleActiveResultSets=false

残念ながら、MDB2 sqlsrv.phpコードを見ると、_doConnect()関数はホスト、ユーザー名、パスワード、およびデータベース以外のオプションを使用していないようです。そのため、接続時に MARS を無効にできない場合があります。

MDB2 の 2.5 ベータ版に関する追加情報については、この回答を参照してください。

于 2013-07-26T21:31:53.870 に答える