2016-04-20 6 views
1

Получение следующее сообщение об ошибке при тестировании обновления до PHP7 x64:PHP 7 x64 ODBC Ошибка Подключение к MSSQL базы данных

odbc_connect(): ошибка SQL: [Microsoft] [ODBC Driver Manager] Источник данных не найден и драйвер по умолчанию не указано

Я установил следующее:

  • PHP 7.0.0 x64
  • Microsoft ODBC Driver 11 для x64 SQL Server
  • Microsoft Visual C++ 2015 Redistributable x64
  • Microsoft Visual C++ 2015 Redistributable x86
  • The (поточно-безопасный) просмотр драйверов MSSQL PHP 7: https://github.com/Azure/msphpsql

I раскомментировали/добавлены следующие строки мой phpini:

  • расширения = php_pdo_mysql.dll (раскомментирована)
  • расширения = php_odbc.dll (добавлено)
  • расширение = php_sqlsrv_7_ts.dll (добавлено)
  • расширение = php_pdo_sqlsrv_7_ts.dll (добавлено)

Вещи рассмотреть:

  • Я могу видеть, что модули действительно загружены в phpinfo.
  • Я добавил соединение ODBC и вижу его в System DSN.
  • Я успешно могу подключиться через sqlsrv_connect(), но не odbc_connect(), что и использует все наши предыдущие скрипты PHP 5.6.

Не может найти ответ нигде. Любая помощь будет оценена по достоинству. Благодарю.

ответ

0

Кажется, я решил свою проблему.

Оказывается, строка odbc_connect использует явное имя DSN, а не базы данных, по-видимому ...

Ранее мой ODBC Connect строка была $ сопп = odbc_connect ('DB', $ DBUSER, $ DBPass) и мой источник данных ODBC был «SERVERNAME»

Как только я изменил имя источника данных ODBC в соответствии с именем DB, он сработал.