Моя местная среда — WAMP. Для нескольких страниц мне нужно получить доступ к удаленно размещенной базе данных MSSQL, выполнить запросы и получить результаты.
Мне была предоставлена следующая информация (значения замаскированы):
Я никогда раньше не подключался к удаленно размещенной БД. Из примера на:
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. Есть ли дополнительные строки, которые нужно пропустить?
Во-первых, не предоставляйте полный доступ к вашей базе данных здесь (если только ваш пользователь и пароль не заполнены).
Во-вторых, вы должны быть уверены, что хост, на котором работает ваш SQL, разрешил удаленный доступ. Если на вашем сервере MSSQL не включен удаленный доступ, независимо от того, как вы пытаетесь подключиться, вы всегда будете терпеть неудачу.
$server = '11.22.33.44';
// Connect to MSSQL
$link = mssql_connect($server, 'db_username', 'db_password');
Приведенный выше код должен работать только потому, что mssql не разрешено удаленно настраивать, поэтому его доступ к вашему ip блокируется. Вы должны разрешить удаленный доступ к mssql
У меня возникла та же проблема, после некоторой игры, я, наконец, получил его для подключения с помощью sqlsrv_query ()
Не уверен, если это из-за обновлений версии PHP или что-то.
Проведите некоторое исследование по этому вопросу, это сработало для меня.
Вы можете соединиться с этими кодами успешно.
$username ="WRITEUSER";
$password = "WRITEPASS";
$database = "WRITEDB";
$server = "WRITESERVERIP";
$connection = mssql_connect($server, $username, $password);
if (!$connection) { die('Not connected : ' . mssql_get_last_message());}$db_selected = mssql_select_db($databaseb, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mssql_get_last_message());
} else{
// Success
}
С уважением.
Для удаленного подключения к вашей базе данных вы должны создать учетную запись в phpmyadmin и разрешить права доступа к этой учетной записи. при удаленном подключении к базе данных используйте информацию об имени пользователя и пароле, которую вы указали при создании учетной записи пользователя.