使用OLEDB访问Oracle9i数据库连接信息如下,
ConnectionString = Provider=MSDAORA.1;User ID=mexin;password=mexin;Data Source=10.1.3.10;Persist Security Info=false
查询语句如下:
QueryString = select * from security_users
使用时报以下异常
System.ArgumentException: 不支持关键字: “provider”。
   at System.Data.Common.DBConnectionString.ParseInternal(Char[] connectionString, UdlSupport checkForUdl, NameValuePair& keychain)
   at System.Data.Common.DBConnectionString..ctor(String connectionString, UdlSupport checkForUdl)
   at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
   at System.Data.SqlClient.SqlConnectionString.ParseString(String connectionString)
   at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
   at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
   at DataWS.DBService.Test(String connectionString, String queryString)-------------------------------------------------------------------------------
请高手指点,在线等

解决方案 »

  1.   

    "Provider=MSDAORA.1;User ID=mexin;password=mexin;Data Source=10.1.3.10;Persist Security Info=false"1,注意引号。
    2,连接串尽量写那些标准点的,不要写这种。
    3,SqlClient不能访问Oracle的(连SqlServer6.5都不能访问),而且SqlConnection也不支持“Provider=###”的连接串写法。简单说,你上面连对的地方都找不到了。建议先看看书。
      

  2.   

    不是啊,我没有使用SqlConnection啊,我用的OledbConnection
      

  3.   

    OleDbConnection这个不是SqlConnection
      

  4.   

    bitsbird(一瓢 在路上...)  在吗?我使用的是MS提供的示例里的连接字符串,请问我还有可能是什么地方错误了,才导致上面的异常出现的
      

  5.   

    System.ArgumentException: 不支持关键字: “provider”。
      

  6.   

    第一,你不是使用System.Data.OleDbConnection对象。现象:at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
                         *****************************你使用的是SqlClient.SqlConnection对象。第二,使用OleDbConnection对象连接Oracle,连接字符串是:
    "Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;" 
    或者
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;" 第三,需要安装Oracle客户端。
      

  7.   

    Oracle的连接不支持OleDbConnection,有专门的OracleConnection