“USE statement is not supported to switch between databases” when running query

浪尽此生 提交于 2019-12-07 15:22:41

问题


I get the following error when trying to select a database with php's standard mssql_select_db function: USE statement is not supported to switch between databases. Use a new connection to connect to a different Database. (severity 16). So i'm stumped as in where to go from here.

Connection Code:

$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);
}

My system setup is as follows:

  • Ubuntu 12.10
  • PHP5
  • Apache2
  • freeTDS
  • unixODBC
  • SQL Azure

Also I was following this guide.


回答1:


In response to @Pondlife's last comment above and since he has not made it an answer I will do it for him until he posts it himself.

@Pondlife comment:

I have no experience with Azure myself, but the error message is very clear: you can't change databases with USE in SQL Azure. I don't know how or if you can prevent your particular client libraries issuing a USE command, but I would try removing the mssql_select_db() call completely and specify the correct database name in your ODBC DSN. Hopefully that will connect you directly to the database you want to use. - PondLife



来源:https://stackoverflow.com/questions/13966435/use-statement-is-not-supported-to-switch-between-databases-when-running-query

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!