Моя локальная среда — WAMP. Для нескольких страниц мне нужно получить доступ к удаленно размещенной базе данных MSSQL, выполнить запросы и получить результаты.
Мне была предоставлена следующая информация (значения замаскированы):
- IP-адрес удаленной машины MSSQL: 11.22.33.44
- Имя базы данных: abcdefgh
- Имя пользователя: db_username
- Пароль: db_password
Я никогда раньше не подключался к удаленно размещенной БД. Из примера по адресу: http://php.net/manual/en/function.mssql-connect.php
Я попробовал это в тестовом файле mssql-connect.php:
<?php
// Server in the this format: <computer>\<instance name> or
// <server>,<port> when using a non default port number
$server = '11.22.33.44\abcdefgh';
// Connect to MSSQL
$link = mssql_connect($server, 'db_username', 'db_password');
if (!$link) {
die('Something went wrong while connecting to MSSQL');
}
?>
Что-то не могу подключиться. Я пробовал все варианты строки подключения:
$server = '11.22.33.44/abcdefgh';
$server = 'http://11.22.33.44\abcdefgh';
$server = 'https://11.22.33.44\abcdefgh';
$server = '11.22.33.44';
$server = '11.22.33.44:1431';
$server = '11.22.33.44,1431';
Каждый из них (и их варианты) возвращает «Что-то пошло не так при подключении к MSSQL».
Я включил mssql через php.ini и вижу phpinfo. Есть ли какие-либо дополнительные строки, которые необходимо передать?
$server = '11.22.33.44',1433;
— это должно работать, если это экземпляр по умолчанию, удаленные подключения включены и на вашем пути нет брандмауэра. Если это именованный экземпляр, вы должны включить эту информацию в свой вопрос. Имя базы данных не является частью имени сервера в строке подключения. Кроме того, вы можете подключиться к этому серверу из Management Studio? Возможно, попробуйте там, прежде чем отлаживать PHP-код, а также связываться со службой поддержки на хосте — если они размещают для вас SQL Server, они знают, как помочь вам подключиться к нему. - person Aaron Bertrand   schedule 17.04.2015$server = '11.22.33.44',1433;
и получил ответ «Ошибка синтаксического анализа: синтаксическая ошибка, непредвиденная», «в C:\path_to_my_file\mssql-connect.php в строке 26». - person arunmenon   schedule 17.04.2015$server = '11.22.33.44,1433';
. Кроме того, ваш локальный компьютер — не единственное место, где может существовать брандмауэр. - person Aaron Bertrand   schedule 17.04.2015$server = '11.22.33.44,1433';
. Возвращает ошибку 'Предупреждение: mssql_connect() [function.mssql-connect]: невозможно подключиться к серверу: 11.22.33.44,1433 в C:\path_to_file\mssql-connect.php в строке 31 Что-то пошло не так при подключении в MSSQL'. Строка 31 —$link = mssql_connect($server, 'db_username', 'db_password');
. - person arunmenon   schedule 17.04.2015