【问题标题】:How to write connection string to connect from classic ASP page to SQL 2008 R2?如何编写连接字符串以从经典 ASP 页面连接到 SQL 2008 R2?
【发布时间】:2011-11-15 09:51:43
【问题描述】:

我使用以下连接字符串从经典 ASP 页面连接到 SQL SERVER 2008 R2

"Data Source=(local);Initial Catalog=my_db;Persist Security Info=True;User ID=my_user;Password=my_pass;"

但我得到错误

Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我验证了my_db 存在!那么我的连接字符串有什么问题?

【问题讨论】:

    标签: sql-server sql-server-2008 asp-classic


    【解决方案1】:

    您为数据源指定的 (local) 名称无效。它应该是您的 SQL 安装的 IP 地址、服务器名称或服务器/实例名称。

    更新

    如果 SQL 服务器在网络服务器上,您可以使用 . 指定本地。这是我的一个经典 ASP 项目中的示例连接字符串:

    "Provider=SQLNCLI10;Server=.;Database=my_db;Uid=user;Pwd=pass;"

    【讨论】:

    • 我在安装 SQL 的同一台机器上运行 asp 经典页面。在 ASP.NET 中我使用(本地),但在 ASP Classic 中它不起作用
    • 在这种情况下,您可以使用. 指定本地 SQL 安装。我已经用一个例子更新了我的答案。
    • 我试过了,现在是Login failed for user 'user'。我检查了用户存在并映射到“my_db”数据库。现在可能是什么问题?
    • 在这种情况下,连接字符串现在可以正常工作,您提供的用户凭据不正确。您是否在数据库的安全设置中检查过它们?
    • 已修复。原因是“尝试使用 SQL 身份验证登录失败。服务器配置为仅用于 Windows 身份验证'。谢谢
    【解决方案2】:

    您需要指定一个 oledb 提供程序以防止它尝试默认为 ODBC(并且失败)

    Provider=SQLNCLI10;Data Source=(local);Initial Catalog=my_db;User ID=XXX;Password=YYY;
    

    (您还需要在机器上安装 2008 SQL Client OleDb 提供程序)

    【讨论】:

    • 我试过了,现在它说用户“XXX”登录失败。我检查了用户存在并映射到“my_db”数据库。现在可能是什么问题?
    • 您使用的是命名实例吗?查看服务器日志以了解登录请求被拒绝的原因
    • 已修复。原因是“尝试使用 SQL 身份验证登录失败。服务器配置为仅用于 Windows 身份验证'。谢谢。抱歉,我不能接受 2 回答,因为 Rory 先回答,所以我会接受他的回答。
    【解决方案3】:

    尝试更改(本地):127.0.0.1

    【讨论】:

      【解决方案4】:

      试试:

      Provider=SQLNCLI10;Server=(local);Database=my_db;Uid=my_user; Pwd=my_pass;
      

      如有疑问,请查看connectionstrings.com

      【讨论】:

        猜你喜欢
        • 2015-09-01
        • 2017-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多