一种为:
set conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world"
conn.open DSNtemp
另一种为:
string strConn="Data Source=xxx;User Id=system;Password=yyyy";
OracleConnection conn = new OracleConnection();
conn.ConnectionString=strConn;
第二种要装客户端和配odbc;第一种需要装oracle客户端和配odbc吗?
这两种方式哪一种好?

解决方案 »

  1.   

    都要装Oracle客户端,不用配置ODBC.
    第二种好一点
      

  2.   

    第二种用的是专门为访问Oracle数据库设计的类型库,如OracleConnection 
    从楼主给出的代码来看,第二种比较好,数据访问的效率高
      

  3.   

    用ODT.NET吧,MS提供的可能会作些手足的!!
      

  4.   

    第二种要配odbc吧,不配好像不行?
      

  5.   

    第一种通过odbc
    第二种通过ado.net
      

  6.   

    我也想知道是不是要想连接ORACLE客户端和C#的连接就必须到ODBC注册一下数据源呢
      

  7.   

    两种方式都需要安装客户端,第二种是经过针对Oracle进行优化过的,具有更高的性能
    如果使用ado访问oracle数据库,可以不安装客户端 ,代码如下:
    connStr = "Provider=OraOLEDB.Oracle; User ID=sa; Password=sa; Data Source==(DESCRIPTION =(ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST=192.168.100.163)(PORT =1521)))(CONNECT_DATA =(sid=TestDB)))";
      

  8.   

    经过测试,ado.net使用ole的方式也可以不安装客户端,代码如下:string connStr = "Provider=OraOLEDB.Oracle; User ID=sa; Password=sa; Data Source==(DESCRIPTION =(ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST=192.168.100.163)(PORT =1521)))(CONNECT_DATA =(sid=TestDB)))";
     
    OleDbConnection Conn  =new  OleDbConnection(connStr);
    Conn.Open();