【问题标题】:Connect PHP 5.4 to MSSQL 2012 ODBC将 PHP 5.4 连接到 MSSQL 2012 ODBC
【发布时间】:2016-01-30 18:17:59
【问题描述】:

我现在尝试使用多种方法连接到本地 MSSQL 数据库,但每次都收到错误消息。请有人帮忙,我有下面使用的连接以及相应的错误消息。谢谢

PHP 版本 5.4.17 nts VC9

Windows 7,UAC 关闭,防火墙禁用,使用管理员在命令窗口中运行

MS SQL 2012

Windows ODBC 驱动程序

  • SQL 服务器
  • SQL Server Native Client 11.0

phpinfo

odbc

ODBC Support => enabled
Active Persistent Links => 0
Active Links => 0
ODBC library => Win32

Directive => Local Value => Master Value
odbc.allow_persistent => On => On
odbc.check_persistent => On => On
odbc.default_cursortype => Static cursor => Static cursor
odbc.default_db => no value => no value
odbc.default_pw => no value => no value
odbc.default_user => no value => no value
odbc.defaultbinmode => return as is => return as is
odbc.defaultlrl => return up to 4096 bytes => return up to 4096 bytes
odbc.max_links => Unlimited => Unlimited
odbc.max_persistent => Unlimited => Unlimited

PDO

PDO support => enabled
PDO drivers => odbc

PDO_ODBC

PDO Driver for ODBC (Win32) => enabled
ODBC Connection Pooling => Enabled, strict matching

--

odbc_connect("DRIVER={SQL Server};SERVER='127.0.0.1';Port=1433;DATABASE=[database]","[sql_user]","[sql_pass]);

警告:odbc_connect():SQL 错误:[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或拒绝访问。, SQL 第 2 行 C:\source.php 中 SQLConnect 中的状态 08001

odbc_connect("DRIVER={SQL Server Native Client 11.0};SERVER='127.0.0.1;Port=1433';DATABASE=[database]","[sql_user]","[sql_pass]");

警告:odbc_connect():SQL 错误:[Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: 无法打开与 SQL 的连接 服务器 [53]。 , SQLConnect 中的 SQL 状态 08001 在 C:\source.php 上线 3

odbc_connect("DRIVER={ODBC Driver 11 for SQL Server};SERVER='127.0.0.1';Port=1433;Integrated Security=SSPI","","");

警告:odbc_connect():SQL 错误:[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序,SQL 状态 第 4 行 C:\source.php 中 SQLConnect 中的 IM002

【问题讨论】:

    标签: php sql-server odbc


    【解决方案1】:

    您可以像这样使用 PDO 连接到 mssql:

    $dbh = new PDO('odbc:Driver={SQL Server};Server=127.0.0.1;Database=DatabaseName; Uid=User;Pwd=Password');
    // use the connection here
    
    
    // and now we're done; close it
    $dbh = null;
    

    只需确保为数据库连接提供正确的用户名和密码即可。

    【讨论】:

    • 致命错误:在 C:\source.php:2 中未捕获异常 'PDOException' 并带有消息 'could not find driver' 堆栈跟踪:#0 C:\source.php(2): PDO- >__construct('sqlsrv:Server=l...', '[sql_user]', '[sql_pass]') #1 {main} 在第 2 行的 C:\source.php 中抛出
    • 您是否在 php.ini 文件中启用了 PDO mssql 扩展?我已经编辑了答案,尝试使用新的连接字符串。
    猜你喜欢
    • 2013-12-08
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多