2

我想使用 PEAR MDB2 sqlsrv 驱动程序连接 windows sql azure 数据库。

我可以使用这个连接非联合数据库

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

但是对于联合数据库,我需要设置

"MultipleActiveResultSets" => 假

这也与连接字符串..

我怎样才能通过这个额外的参数..请帮助我


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 beta 版本。

于 2013-07-26T09:40:08.613 回答
0

MDB2 DSN文档指出:

option:URI 查询字符串格式的附加连接选项。选项用 & 分隔。

提供的 DSN 的字符串格式是其最完整的形式:

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

所以选项应该作为

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

不幸的是,查看 MDB2 sqlsrv.php代码,该_doConnect()函数似乎没有采用除主机、用户名、密码和数据库之外的任何其他选项。因此,连接时可能无法禁用 MARS。

有关 MDB2 的 2.5 beta 版本的更多信息,请参阅此答案

于 2013-07-26T21:31:53.870 回答