【问题标题】:PHP 7 x64 ODBC Error Connecting to MSSQL Database连接到 MSSQL 数据库的 PHP 7 x64 ODBC 错误
【发布时间】:2016-08-13 19:00:21
【问题描述】:

测试升级到 PHP7 x64 时出现以下错误:

odbc_connect():SQL 错误:[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

我已经安装了以下内容:

  • PHP 7.0.0 x64
  • 适用于 SQL Server x64 的 Microsoft ODBC 驱动程序 11
  • Microsoft Visual C++ 2015 Redistributable x64
  • Microsoft Visual C++ 2015 Redistributable x86
  • PHP 7 MSSQL 驱动程序的(线程安全)预览:https://github.com/Azure/msphpsql

我已取消注释/添加了我的 phpini 的以下行:

  • extension=php_pdo_mysql.dll(未注释)
  • extension=php_odbc.dll(添加)
  • extension=php_sqlsrv_7_ts.dll(已添加)
  • extension=php_pdo_sqlsrv_7_ts.dll(已添加)

需要考虑的事项:

  • 我可以看到模块确实加载到了phpinfo中。
  • 我已经添加了 ODBC 连接,并且可以在 System DSN 中看到它。
  • 我可以通过 sqlsrv_connect() 成功连接,但不能通过 odbc_connect() 进行连接,这是我们以前所有 PHP 5.6 脚本都使用的。

似乎无法在其他任何地方找到答案。任何帮助,将不胜感激。谢谢。

【问题讨论】:

    标签: php sql-server odbc sqlsrv php-7


    【解决方案1】:

    我似乎已经解决了我自己的问题。

    事实证明,ODBC_CONNECT 字符串使用显式 DSN 名称而不是数据库,显然...

    以前我的 ODBC 连接字符串是 $conn = odbc_connect('DB',$DBUSER, $DBPASS) 我的 ODBC 数据源是“SERVERNAME”

    一旦我更改了 ODBC 数据源名称以匹配数据库名称,它就起作用了。

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 2022-08-04
      • 2013-07-17
      • 2016-10-19
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      相关资源
      最近更新 更多