如何将QNAP Web服务器连接到Microsoft MS SQL

时间:2018-12-21 14:33:50

标签: php sql-server qnap

我正在尝试将QNAP TS-231P Web服务器配置为连接到Windows服务器(MSSQL Express 2014)上安装的MS SQL数据库。

在QNAP控制面板->服务器Web中,我在php.ini文件中添加了这一行

extension = mssql.so

现在运行phpinfo(),我看到了mssql部分(库版本为FreeTDS)。

基于CodeIgniter 3.1.9构建的Web应用程序无法连接到MSSQL(它适用于Windows上安装的XAMPP 3.2.2版),我也尝试了以下简单的php代码:

<?php
$connection = mssql_connect('10.10.10.100\SQLEXPRESS', 'sa', 'mypassword');
if (!$connection) {
  die('Unable to connect!');
}
if (!mssql_select_db('MY_DATABASE', $connection)) {
  die('Unable to select database!');
}
$result = mssql_query('SELECT * FROM MY_TABLE');
while ($row = mssql_fetch_array($result)) {
  var_dump($row);
}
mssql_free_result($result);
?>

但是连接失败。 问题是我该怎么做才能获得成功的连接?

1 个答案:

答案 0 :(得分:0)

基于来自php.net的信息:

  

mssql_connect

     

警告

     

此功能在PHP 7.0.0中已删除。

相反,您应该使用sqlsrv_connect

要能够连接到MS SQL Server,该服务器必须接受远程连接。参见:Configure the remote access Server Configuration Option

使用IP时,必须提供一个端口号,MS SQL Server在该端口号上侦听远程连接。

<?php
$serverName = "serverName\\sqlexpress, 1542"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

有关此线程中与MS SQL Server的连接的更多信息:How to use PHP to connect to sql server

祝你好运!