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

Posted

技术标签:

【中文标题】如何将 QNAP Web 服务器连接到 Microsoft MS SQL【英文标题】:How to connect QNAP Web server to Microsoft MS SQL 【发布时间】:2018-12-21 14:33:50 【问题描述】:

我正在尝试配置我的 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);
?>

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

【问题讨论】:

您真的不应该为您的 Web 服务使用 sa 帐户。我(非常)强烈建议您创建一个仅具有您网站所需权限的登录名和用户,并使用该帐户进行连接。拥有一个拥有完整 sysadmin 权限的网站是个糟糕的主意。 你是对的,但我只是在生产中使用系统管理员权限,首先我需要获得一个正常的连接。 MS SQL Server 必须启用远程连接。你设置了吗?如何?见:Configure the remote access Server Configuration Option 【参考方案1】:

基于来自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

祝你好运!

【讨论】:

以上是关于如何将 QNAP Web 服务器连接到 Microsoft MS SQL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Qfile来存取及分享QNAP Turbo NAS 上的档案

通过 javax.smartcardio 连接到 micro SD

如何将我的Android模拟器连接到我的本地Web服务器

如何使用服务帐户将 .net 应用程序连接到数据库

BBC micro:bit基础教程02-micro:bit与人体运动检测传感器

将 Neo4j Web 管理连接到我的数据时出现问题