如何将 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