运行查询时,“不支持在数据库之间切换USE语句”

时间:2012-12-20 06:23:10

标签: php sql-server azure-sql-database freetds ubuntu-12.10

尝试选择具有php's标准mssql_select_db函数的数据库时出现以下错误:USE statement is not supported to switch between databases. Use a new connection to connect to a different Database. (severity 16)。所以我很难过,从这里开始。

连接代码:

$link = mssql_connect('dsn', 'user@server', 'password');

if (!$link) {
   die('Unable to connect!');
}

if (!mssql_select_db('db', $link)) {
   die('Unable to select database!');
}

$result = mssql_query('SELECT * FROM yourtable');

while ($row = mssql_fetch_array($result)) {
   var_dump($row);
}

我的系统设置如下:

  • Ubuntu 12.10
  • PHP5
  • 的Apache2
  • freetds的
  • 的unixODBC
  • SQL Azure

此外,我正在关注guide

1 个答案:

答案 0 :(得分:3)

回应@ Pondlife上面的最后一条评论,既然他没有给出答案,我会为他做的,直到他自己发表。

@Pondlife评论:

  

我自己没有使用Azure的经验,但错误信息非常多   clear:您无法在SQL Azure中使用USE更改数据库。我不知道   如何或如果您可以阻止您的特定客户端库发布   USE命令,但我会尝试删除mssql_select_db()调用   完全并在ODBC DSN中指定正确的数据库名称。   希望这会将您直接连接到您想要的数据库   使用。 - PondLife