【问题标题】:ConnectionString issues - SQL Server 2008 on Windows 2008ConnectionString 问题 - Windows 2008 上的 SQL Server 2008
【发布时间】:2011-07-01 21:50:55
【问题描述】:

我们有一个第三方程序,它曾经在 Windows 2003 上针对 SQL Server 2000 数据库运行(app 和 db 在同一台机器上)。我们正在尝试在 Windows 2008/SQL Server 2008 上迁移/安装它。

指定的连接字符串似乎不允许它连接到 SQL Server(见下文)

    <Configuration name="PROG">
    <ADOConnection>
        Provider=SQLOLEDB.1;Persist Security Info=False;User Id=sa;Pwd=p@ssw0rd;Initial Catalog=DB_NEW;Data source=servername
    </ADOConnection>
</Configuration>

我尝试了一个替代的,但也不起作用

<Configuration name="PROG">
     <ADOConnection>    
Provider=SQLNCLI10.1;Persist Security Info=False;Initial Catalog=DB_NEW;Data Source=servername;Uid=sa; Pwd=p@ssw0rd;

我能够使用下面的方法成功地将应用程序连接到 Windows 2003 上的 SQL Server 2008 数据库

<Configuration name="PROG">
    <ADOConnection>
        Provider=SQLOLEDB.1;Persist Security Info=False;User Id=sa;Pwd=p@ssw0rd;Initial Catalog=DB_NEW;Data source=servername
    </ADOConnection>

让应用程序连接到 Windows 2008 服务器上的 SQL Server 2008 的正确语法是什么?

【问题讨论】:

  • “似乎不允许连接”是什么意思?您收到错误消息吗?如果连接尝试到了那么远,您在 SQL Server 错误日志中看到了什么?您是否尝试过使用 localhost 或 127.0.0.1 或 .而不是服务器名?新的 SQL Server 是否可以作为命名实例安装?

标签: sql-server-2008 connection-string ado provider


【解决方案1】:

您可以通过查看注册表来检查安装了哪些提供程序版本: HKEY_CLASSES_ROOT\SQLNCLI10\Clsid

HKEY_CLASSES_ROOT\SQLNCLI10.1\Clsid(适用于版本 10.1 等)

SQLNCLI10(sql server native client)名称是计算机上安装的最新版本的别名。在您的 2003 机器上,您还会在注册表中找到 sqloledb 的条目,您可能不会在 2008 机器上安装这些条目。

我希望以下内容应该有效: Provider=SQLNCLI10;Persist Security Info=False;User Id=sa;Pwd=p@ssw0rd;Initial Catalog=DB_NEW;Data source=servername

有关连接字符串格式和各种提供程序的更多信息,请参阅:this connectionstring site

【讨论】:

  • 感谢您,我多年来一直在使用 SQLOLEDB,但在特定服务器上,我不得不将其更改为使用 SQLNCLI11。
猜你喜欢
  • 2012-03-31
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
相关资源
最近更新 更多