ConnectionString问题 - Windows 2008上的SQL Server 2008

时间:2011-07-01 21:50:55

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

我们有一个第三方程序曾经在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的正确语法是什么?

1 个答案:

答案 0 :(得分:3)

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

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

SQLNCLI10(sql server本机客户端)名称是计算机上安装的最新版本的别名。在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