Если я правильно понимаю ваш вопрос, ответ будет нет .
PHP и PHP драйвер для SQL Server должны быть установлены на этом компьютере, где работает веб-сервер.В вашем случае это машина Linux.Если все установлено и настроено правильно, вы сможете подключиться к своему экземпляру SQL Server, работающему на компьютере с Vista.Конечно, вы должны иметь возможность подключиться к любому экземпляру SQL Server, который разрешает удаленный доступ.
Вам необходимо выбрать правильную версию драйвера PHP для SQL Server на основе матрицы поддержки и следуйте инструкциям по установке.
Ваш PHP-код правильный, но хорошо проверять ошибки после каждого выполнения функции sqlsrv_
:
<?php
# Connection info
$connectionInfo = array(
"UID" => "user",
"PWD" => "123456",
"Database" => "TestDB"
);
# Connection
$link = sqlsrv_connect("111.222.333.444", $connectionInfo);
if ($link === false) {
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true ) );
} else {
echo "Connection established.<br />";
}
# Statement
$sql = "SELECT * FROM table";
$stmt = sqlsrv_query($link, $sql);
if ($stmt === false) {
echo "Error executing query.<br />";
die( print_r( sqlsrv_errors(), true));
}
# Fetch data
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
echo $row['value']."<br />";
}
# End
sqlsrv_free_stmt($stmt);
sqlsrv_close($link);
?>
Обновление: пример с использованием ODBC
:
<?php
$server = "111.222.333.444";
$user = "user";
$password = "123456";
$database = "testDB";
$conn_string = 'Driver={SQL Server Native Client 11.0};Server='.$server.';Database='.$database.';client_charset=UTF-8;';
if ($conn = odbc_connect($conn_string, $user, $password)) {
$sql = "SELECT * FROM table";
$result = odbc_exec($conn, $sql);
while (odbc_fetch_row($result)) {
$value = odbc_result($result, "value");
echo $value.'</br>';
}
}
?>