【问题标题】:SQL Server 2000 Trusted Authentication IssueSQL Server 2000 受信任的身份验证问题
【发布时间】:2014-05-26 05:42:09
【问题描述】:

我正在使用 Windows Server 2003 R2 和 SQL Server 2000,我正在尝试从同一网络中的另一台 PC 连接到我的数据库(也使用 Win Server 2003 R2),但我得到的是 SQLSTATE[28000] SQLDriverConnect: 18452 [Microsoft][ODBC SQL Server 驱动程序][SQL Server]

它说它不在受信任的连接上。

我在 Microsfot Docs 中读到此错误仅在使用 Windows 身份验证时发生,但我目前正在使用混合身份验证。

我正在使用 PHP PDO 连接这是我的连接字符串:

$conn = new PDO("odbc:Driver={SQL Server};Server=MyServer;Database=MyDB","sa","pass");

此连接字符串目前适用于 SQL SERVER 7,但不适用于 SQL SERVER 2000。您知道任何解决方法吗?或者也许......如何创建可信连接?

【问题讨论】:

    标签: php sql-server-2000 trustedconnection


    【解决方案1】:

    您需要添加“;Integrated Security=SSPI”或“;Trusted_Connection=Yes”——我忘了​​是哪一个。 SSPI涉及“只使用当前用户”,而另一个是“它是一个域-使用以下用户和密码”

    【讨论】:

    • 我认为 Trusted_Connection=Yes 适用于 ODBC,Integrated Security=SSPI 适用于 OLE...但无论如何它都不起作用
    • 如果您打算使用用户名和密码,则需要将 SQL 安装更改为混合模式(从 NT Auth)。见:blog.sqlauthority.com/2007/04/14/…
    • 我看错了。当然应该是 conn = new PDO("odbc:Driver={SQL Server};Server=MyServer;Database=MyDB",Uid="sa",Pwd="pass");而不是 conn = new PDO("odbc:Driver={SQL Server};Server=MyServer;Database=MyDB","sa","pass");
    • 这是不正确的。正弦轴是错误的。你不能写 Uid="" ... 除非在字符串内
    • @GabrielMatusevich 很好发现-快速复制粘贴....我读错了。当然应该是 conn = new PDO("odbc:Driver={SQL Server};Server=MyServer;Database=MyDB;Uid=sa;Pwd=pass");而不是 conn = new PDO("odbc:Driver={SQL Server};Server=MyServer;Database=MyDB","sa","pass");应该沿着这些路线。转到 connectionstrings.org 以获取适用于所有风格的出色且更新的连接字符串列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多