Как подключить веб-сервер QNAP к Microsoft MS SQL

Я пытаюсь настроить свой веб-сервер QNAP TS-231P для подключения к базе данных MS SQL, установленной на сервере Windows (MSSQL Express 2014).

В панели управления QNAP -> Server Web я добавил в файл php.ini эту строку

extension = mssql.so

и теперь работает phpinfo (), я вижу раздел mssql (версия библиотеки FreeTDS).

Мое веб-приложение, построенное на CodeIgniter 3.1.9, не может подключиться к MSSQL (оно работает на XAMPP версии 3.2.2, установленной в Windows), я также попробовал этот простой код 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);
?>

но соединение не удается.
Вопрос в том, что я могу сделать для успешного подключения?

0

Решение

На основании информации от php.net:

mssql_connect

Предупреждение

Эта функция была УДАЛЕНА в PHP 7.0.0.

Вместо этого вы должны использовать sqlsrv_connect:

Чтобы иметь возможность подключиться к MS SQL Server, этот сервер должен принимать удаленные подключения. Увидеть: Настройте опцию конфигурации сервера удаленного доступа

Когда вы используете 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 в этой теме: Как использовать PHP для подключения к серверу SQL

Удачи!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]