2011-05-23 86 views
2

我们在Win server 2008 R2上使用MSSQL server 2008,并分别安装了Apache (2.2.19)PHP (5.2.17)。我们INSTALLD PHP的MSSQL模块和usingthe下面的连接字符串:用PHP连接到MSSQL server 2008

$myc = mssql_connect(Server, SiteDatabaseUsername, SiteDatabasePassword) or die('Can\'t connect to mssql Database Server: '.mssql_get_last_message($myc)); 
$db = mssql_select_db(SiteDatabaseName, $myc) or die('Can\'t find database: '.mssql_get_last_message($myc)); 

但它为我们提供了这样的错误:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost\MSSQLSERVER in D:\Apache2.2\htdocs\adminarea\_core.php on line 89 
Can't connect to mssql Database Server: 

我们已经使用了IP:PORTlocalhost\MSSQLSERVERCOMPUTERNAME\MSSQLSERVER但不要似乎得到任何地方,任何人都可以帮忙吗?

+0

您是否尝试过从Microsoft安装较新的SQLSRV驱动程序,因为MSSQL不再受支持?另外,'phpinfo()'是否确认PHP驱动程序的可用性? – Kalessin 2011-05-23 16:05:23

+0

试试看ntwdblib.dll - 看到这个答案:http://stackoverflow.com/a/470036/327074 – icc97 2013-07-23 09:56:57

+0

其实它看起来像这个问题只是http://stackoverflow.com/questions/469964/重复无法到连接到MSSQL数据库,通过的PHP – icc97 2013-07-23 09:59:39

回答

1

有几件事情浮现在脑海中:

1)确保您从MS有SQLSRV驱动程序包,并确保你正确加载在php.ini(使用phpinfo()函数来验证)。

2)如果这是SQL Server的香草安装,它可能只启用了Windows身份验证。打开SQL企业管理器并确保您的数据库上启用了SQL Server身份验证。

3)确保您已启用网络访问SQL Server。我不能立即确定新的MS驱动程序是使用命名管道与服务器通信,还是希望服务器将通过网络访问。

这些是我在PHP与新的MSSQL服务器通话时经常遇到的问题。