2017-01-31 25 views
1

我是相当新的,当使用PHP连接到SQL数据库和我有,我收到此错误消息的问题连接到SQL数据源,当试图通过连接到数据库sqlsrv_connect()错误使用sqlsrv_connect()

[微软] [ODBC驱动程序管理器]数据源名称找不到和未指定默认驱动程序

我已经按照说明操作found here,并放置在此延伸; php_sqlsrv_53_nts.dll,进入php.ini文件。 Phpinfo()显示sqlsrv在Web服务器上启用,但在尝试连接到数据源时仍然收到相同的错误。

下面是我使用的代码:

$db_server = 'tcp:192.168.0.1'; 
$db_credentials = array('UID' => 'Domain\Username',  //SQL Server UID 
         'PWD' => 'Password',     //SQL PW 
         'Database' => 'ThisDatabase',  //Name of the database 
         'CharacterSet' => 'UTF-8', 
         'ConnectionPooling' => 'False', 
         'LoginTimeout' => 60);    //Number of Seconds before fail 

$db_connect = sqlsrv_connect($db_server, $db_credentials); 

//Check the connection to the SQL Database to see if it's valid or else display errors. 
if ($db_connect === false) { 
die(print_r(sqlsrv_errors(), true)); 
} else { 
echo "Success: Connected to database."; 
}; 

我完全难倒,所以任何帮助将是有益的!

+1

您是否为SQL Server或SQL Server Native Client安装了Microsoft ODBC驱动程序?事后重新启动Web服务器吗?请注意[sqlsrv_client_info](https://msdn.microsoft.com/en-us/library/cc296165.aspx)函数检查它是否可能无法正常工作,如果尚未打开连接。 – Terminus

+0

@Terminus我已经在SQL服务器上安装了'SQL Server Native Client 2012',并且还在Data Sources(ODBC)程序中设置了一个System DSN。网络服务器已重新启动,我也按照建议检查了'sqlsrv_client_info',并收到以下消息:“一个无效参数已传递给sqlsrv_client_info。” –

+1

@Terminus看来我在错误的服务器上安装了SQL Server Native Client 2012驱动程序,我将它安装在SQL服务器上而不是Web服务器上。它正在工作,谢谢! –

回答

0

正如@Terminus所建议的,在Web服务器上安装驱动程序SQL ServerSQL Native Client可解决此问题。

相关问题