买了一本书,比较旧的,06出版的,
它里面的程序用的是sql2000,但是数据库空间却是用OleDb
记得System.Data.OleDb好象是连接到access数据库的呀,还是想在这向大家求证一下,
再问一下,SQLOLEDB是什么?
连接字符串是这样的,
<add key="DatabaseLink" value="Provider=SQLOLEDB;UID=sa;PWD=;database=sbgl;SERVER=(local)"/>我的电脑中sql05 和2000并存,
2000的实例名是PC-20090807RROH\LYHSQL2000  ,用户名是sa,密码是sa
连接字符串是不是换成这样
<add key="DatabaseLink" value="Provider=SQLOLEDB;UID=sa;PWD=sa;database=sbgl;SERVER=(local)"/>

解决方案 »

  1.   

    <add key="DatabaseLink" value="Provider=SQLOLEDB;UID=sa;PWD=sa;database=sbgl;SERVER=PC-20090807RROH\\LYHSQL2000"/>
      

  2.   

    OleDb 连接字符串语法
    必须为 OleDbConnection 连接字符串指定提供程序名称。以下连接字符串使用 Jet 提供程序连接到 Microsoft Access 数据库。注意,如果数据库未受保护(默认设置),UserID 和 Password 关键字是可选的。  复制代码 
    Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=; 
     如果数据库受保护,必须提供工作组信息文件的位置。  复制代码 
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
     对于 SQL Server 6.5 或更低版本,请使用 sqloledb 关键字。  复制代码 
    Provider=sqloledb;Data Source=MySqlServer;Initial Catalog=pubs;User Id=*****;Password=*****;
     
      

  3.   

    OLE DB 提供程序是与数据源进行交互的动态链接库,可用于连接各种数据源,包括 SQL SERVER、ORACLE、ACCESS、活动目录等等。
      

  4.   

    在连接字符串中Provider可有可无。
    Provider不同,设置也就不同。如果你用的是OleDbConnection,就可以用上面得到的字符串有Provider没错,但如果你用的是SqlConnection如果直接用的话,连接时会抛出System.ArgumentException: 说不支持关键字: “provider”。显然对SqlConnection来说provider是定的,所以对连接字符串来说这一项设置多余了(我们在VS.NET中设计时也能看到它的连接串是没有provider的)。那么我们在上面产生的连接字符串就不能直接用了。最简单的处理就可以了(就是去除provider部分)。System.Data.OleDb:命名空间