Php 连接到MS SQL数据库时,SQLConnect中的SQL状态为37000
我有一个PHP脚本,它用作只读帐户,以便连接到MS SQL数据库。Php 连接到MS SQL数据库时,SQLConnect中的SQL状态为37000,php,sql-server,Php,Sql Server,我有一个PHP脚本,它用作只读帐户,以便连接到MS SQL数据库。 我一直工作得很好,直到最近DB管理员改变了我的帐户。 现在我只收到以下错误消息: 文件“dbconnect.php”第40行出现E_警告错误:odbc_connect() SQL错误:[Microsoft][ODBC SQL Server驱动程序][SQL Server]无法打开 登录请求的数据库“dbname”。登录失败,SQL状态为 37000英寸SQLConnect 我的连接代码如下所示: <?php
我一直工作得很好,直到最近DB管理员改变了我的帐户。 现在我只收到以下错误消息: 文件“dbconnect.php”第40行出现E_警告错误:odbc_connect() SQL错误:[Microsoft][ODBC SQL Server驱动程序][SQL Server]无法打开 登录请求的数据库“dbname”。登录失败,SQL状态为 37000英寸SQLConnect 我的连接代码如下所示:
<?php
$user = 'username';
$pass = 'password';
$server = 'servername';
$database1 = 'dbname';
$CharacterSet = "UTF-8";
$connection_string1 = "DRIVER={SQL Server};SERVER=$server;DATABASE=$database1;CharacterSet=$CharacterSet";
$conn = odbc_connect($connection_string1,$user,$pass);
?>
我也无法通过SQL Management Studio通过同一帐户连接到数据库,但后来我发现以下博客文章建议在连接时将默认数据库更改为“master”:
是否可以通过odbc\u connect以某种方式执行相同的操作 “数据库管理员用我的帐户更改了一些内容”他们用你的帐户更改了什么?我建议与数据库管理员谈谈。如果他们“改变了某些东西”,导致连接失败,那么只有他们知道他们改变了什么,并且知道如何修复它。我猜他们已经更改了您的登录名或用户的权限。如果您需要访问此数据库,连接到master将帮不上忙。您可以建立到sql server的连接,但在该数据库上尝试任何命令后,将再次出现错误。和你的数据库管理员谈谈,让他修复,他可能不知道他弄坏了什么,或者你现在需要使用另一个登录到此数据库,但还没有人告诉你。您的数据库管理员也会知道这一点