加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何使用PHP的dblib PDO驱动程序与长用户名? / SQLSTATE [HY000

发布时间:2020-12-13 15:56:36 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用 PHP的PDO连接到Microsoft SQL Server / Microsoft Azure数据库: ?php// no actual login data,but similar string lengths$dbHost = 'aa1234bbb5.database.windows.net';$dbUser = 'db_a1a1a1a1_b2b2_c3c3_d4d4_e5e5e5e5e5e5_ExternalWriter
我正在尝试使用 PHP的PDO连接到Microsoft SQL Server / Microsoft Azure数据库:

<?php

// no actual login data,but similar string lengths
$dbHost = 'aa1234bbb5.database.windows.net';
$dbUser = 'db_a1a1a1a1_b2b2_c3c3_d4d4_e5e5e5e5e5e5_ExternalWriter';
$dbPass = 'pPAs0wOoO1&r#dd';
$dbName = 'db_a1a1a1a1_b2b2_c3c3_d4d4_e5e5e5e5e5e5';

try {
    $pdo = new PDO("dblib:host=$dbHost:1433;dbname=$dbName",$dbUser,$dbPass); 
} catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "n";
    exit;
}

PDO初始化抛出PDOException,并显示以下消息:

SQLSTATE[HY000] Name too long for LOGINREC field (severity 2)

我在Debian 7.7 x64上运行PHP 5.4.41-0 deb7u1.

我的问题归结为:

>为什么我收到此错误消息?
>我应该如何实际连接到数据库?

注意:我无法更改登录数据,因为我需要访问Microsoft Access Web App的后端数据库.如果您创建此类Web应用程序,Microsoft将在其“公共可用”Azure服务器之一上创建数据库.您可以要求服务器为您提供用户名和密码 – 但遗憾的是您必须使用给您的任何内容.

解决方法

“LOGINREC”结构最多可以包含30个字符.你必须缩短长串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读