我已经安装Oracle客户端,并且能够实现用System.Data.OracleClient连通Oracle数据库。
同样的方法想用System.Data.OleDb连接Oracle数据库,不知道能不能实现?能的话,连接字符串是什么?还有其它什么设置?
----------------------------------代码如下:
System.Data.OleDb.OleDbConnection conn = 
new System.Data.OleDb.OleDbConnection(connectionstring);
try
{
    conn.Open();
    conn.Close();
}
catch (System.Exception err)
{
    Response.Write(err.Message);
}
finally
{
    conn.Close();
}
-----------------------------
当连接字符串是:
Provider=OraOLEDB.Oracle;Data Source=abc;User Id=sa;Password=imd2006;
报错:
未在本地计算机上注册“OraOLEDB.Oracle”提供程序。当连接字符串是:
Provider=msdaora.1;Data Source=abc;User Id=sa;Password=imd2006;或
Provider=msdaora;Data Source=abc;User Id=sa;Password=imd2006;
报错:
发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。

解决方案 »

  1.   

    那么www.connectionstrings.com中给出的这些连接字符串用在何处?OLE DB, OleDbConnection (.NET) 
     Standard security:
    "Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;" 
    This one's from Microsoft, the following are from Oracle
     Standard Security:"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;"  Trusted Connection:
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;" 
      

  2.   

    http://topic.csdn.net/t/20030801/16/2098633.html
    http://www.21cnvip.com/csdn/default.aspx?q=20040815/09/3275521.html
      

  3.   

    可以的换个连接字符串试试。   
      "Driver={Microsoft   ODBC   for   Oracle};Server=OreracleServ.world;Uid=Username;Pwd=asdasd;" 
      

  4.   

    to tete(小特务) 
    出错
    未在本地计算机上注册“{Microsoft ODBC for Oracle}”提供程序。
      

  5.   

    你已经装了oracleclient,那就用它吧,还不错,总比oledb好。
      

  6.   

    当连接字符串是:
    Provider=OraOLEDB.Oracle;Data Source=abc;User Id=sa;Password=imd2006;用这个字符串是没有问题的,而且已经告诉你错误信息了:
    未在本地计算机上注册“OraOLEDB.Oracle”提供程序你打开Oracle安装目录,如:
    C:\oracle92\network\ADMIN
    里面有个tnsnames.ora文件,里面应该有个记录是上面Data Source所指的abc,例如:
    abc =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.0.14)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = jasv)
          (SERVER = DEDICATED)
        )
      )
      

  7.   

    上面那个IP就是ORACLE服务器的IP,用户名和密码填对了,就能连接成功如果依旧不行,那么打开我的电脑-》控制面板-》管理工具-》ODBC数据源-》驱动,看看有没有相应的ORACLE IN ORAHOME92驱动
    这个驱动依安装的ORACLE客户端程序版本不同而不同。
      

  8.   

    to:youbl(水边)
    tnsnames.ora没有问题
    ODBC没有相应的ORACLE IN ORAHOME92驱动或类似的
    现在,我该如何做?
      

  9.   

    用定制接口比ole性能应该好点
      

  10.   

    驱动没有安装上?
    那应该是ORACLE客户端安装的有问题
    建议重新安装试试,我没有遇到过这种情况,都是安装了客户端后,那些驱动就自动安装上了。
      

  11.   

    解决了
    Provider=msdaora.1;Data Source=abc;User Id=sa;Password=imd2006;或
    Provider=msdaora;Data Source=abc;User Id=sa;Password=imd2006;
    这两个都行
    解决方法
    重装oracle,关键是重装在Fat32盘上,还要重启。
    当初ntfs盘上,我已经给oracle目录设了everyone的所有权限,不知道为什么不行。
      

  12.   

    哦,对了,装在FAT上没有问题,在NTFS上当初我也有类似问题,后来搜了半天,解决方法:
    找到ORACLE安装目录,打开目录属性->安全->把Authenticated Users用户的读取和执行权限去掉,然后再勾上,确定,然后重启电脑就OK了上面这个解决方法由ORACLE的工程师提供的,为什么就不是很清楚了凡是ORACLE安装使用有问题,都可以试试上面这个办法