2011-05-12 45 views
1

我有一个ubuntu 10.10服务器上安装了php5,我试图通过mssql_connect()连接到运行在Windows 2003 Server上的SQL Server 2005数据库。我收到了一个我认为是因为SQL Server 2005实例使用'Windows身份验证'登录方法的错误。错误是:LINUX PHP5 mssql_connect()到SQL Server 2005

Warning: mssql_connect(): message: Login failed for user 'lv_admin'. (severity 14) in /var/www/AOI/collectserials.php on line 17 

错误日志中的SQL Server数据库中显示以下内容:

Login failed for user 'lv_admin'. [CLIENT: (ip of my php server)] 
Error: 18456, Severity: 14, State: 5. 

哪里lv_admin是登录到Windows 2003的服务器,所以我不知道什么问题的用户名是...

PHP:

$con = mssql_connect("128.251.xxx.xx", 'lv_admin', '[mypass]'); 
mssql_select_db("itf", $con); 

我需要一些帮助解决这个问题..

+0

也许这两篇文章可能会给你一个正确的方向:http://php.net/manual/en/function.mssql-connect.php和http://msdn.microsoft.com/en-us /library/cc296205(v=sql.90).aspx。尤其要注意,提到mssql_ *函数的注释已被弃用,并且从PHP5.3开始不再适用 –

回答

2

我居然想通了我的问题。使用Windows身份验证我仍然需要在SQL Server用户位置中指定的远程脚本命令中使用用户名。一旦我在Security-> Logins部分中将lv_admin添加为'SQL Authenticated'用户,我可以获得与服务器的有效连接,但与数据库的连接失败。所以我进入了'itf'数据库 - >安全 - >用户,并在那里添加了lv_admin,并指定了我需要的权限并且它工作。希望这可以节省别人的时间!