Хорошо, у меня возникли проблемы с настройкой SQL Server 2005 с PHP 5.2.17 на IIS 6.0.
Я установил все драйверы и собственные клиенты в соответствии с указаниями, и мой вывод phpinfo () содержит sqlsrv и соответствующие настройки для него.
Но, когда я пытаюсь подключиться с помощью этой команды:
sqlsrv_connect("address,port", array("UID"=>"un", "PWD"=>"pw", "Database"=>"db"));
Я получаю следующее сообщение об ошибке:
Array
(
[0] => Array
(
[0] => IMSSP
[SQLSTATE] => IMSSP
[1] => -49
[code] => -49
[2] => This extension requires either the Microsoft SQL Server 2008
Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client O
DBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are cu
rrently installed. Access the following URL to download the Microsoft SQL Server
2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?Link
Id=163712
[message] => This extension requires either the Microsoft SQL Server
2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Cl
ient ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers
are currently installed. Access the following URL to download the Microsoft SQL
Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink
/?LinkId=163712
)
[1] => Array
(
[0] => IM002
[SQLSTATE] => IM002
[1] => 0
[code] => 0
[2] => [Microsoft][ODBC Driver Manager] Data source name not found a
nd no default driver specified
[message] => [Microsoft][ODBC Driver Manager] Data source name not f
ound and no default driver specified
)
)
sqlncli.dll находится в папке windows / system32, а php_sqlsrv_52_ts_vc6.dll - в папке расширений php и настроен для загрузки в php.ini.
Я не уверен, почему он говорит, что требует расширения, когда phpinfo говорит, что расширение загружено, и я также не уверен, почему он выдает ошибку ODBC Driver Manager.
Любое понимание будет с благодарностью.
========================================
Обновление / Edit:
Я попытался использовать следующее для подключения, и это работало просто отлично:
odbc_connect("Driver={SQL Native Client};Server=servername;Database=db", "un", "pw");
Есть ли параметр, который я мог бы пропустить в php.ini, который мог бы препятствовать нормальной работе sqlsrv_connect?