我用C#编写了个winform窗体程序,现在想本地不安装Oracle客户端,通过ODBC的方式连接到局域网上其他机器上的Oracle,请问高手们应该怎么连接?

解决方案 »

  1.   

    用odbc也得安装Oracle客户端引擎。
      

  2.   

    那个是以前发的,我现在想用ODBC连接远程的Oracle数据库,不知道怎么写连接字符串
      

  3.   

    用odbc也得安装Oracle客户端引擎
      

  4.   

    那用什么方式可以不装Oracle呢?
      

  5.   

    先装客户端,,然后按照下面的方法:
    ODBC 新版本 
    Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;     
    旧版本 
    Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;     
    OLE DB, OleDbConnection (.NET) 标准连接 
    此连接字符串适用了微软的驱动。   
    Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;     
    受信连接 
    Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;     
    标准连接 
    由Oracle提供的驱动。   
    Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;     
    受信连接 
    Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;     
    Oracle.DataAccess.Client.OracleConnection 标准 
    Data Source=TORCL;User Id=myUsername;Password=myPassword;     
    标准安全连接 
    Data Source=TORCL;Integrated Security=SSPI;     
    使用ODP.NET而不使用tnsnames.ora 
    Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;     
    OracleConnection, Oracle Data Provider, ODP.NET, System.Data.OracleClient.OracleConnection 标准 
    Data Source=MyOracleDB;Integrated Security=yes; 用于8i RC3及以后的版本 
       
    指定用户名和密码 
    Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no; 用于8i RC3及以后的版本 
       
    忽略tnsnames.ora 
    另一种不需要使用DSN的连接方式。   
    SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;     使用上面的连接字符串可能会导致Visual Studio报告错误,如果您在使用中出现了这些问题,请使用下面的这种连接方式。   
    Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;     
    使用连接池 
    如果连接池服务程序找不到已经存在的连接池,它将根据连接字符串创建一个新的池,否则将循环使用池中已存在的连接。   
    Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2; 
    [Page]
        
    Windows身份验证 
    Data Source=myOracleDB;User Id=/;     
    特权连接 
    使用SYSDBA   
    Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;     
    特权连接 
    使用SYSOPER   
    Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSOPER;     
    密码过期处理过程 
    当使用一个连接字符串连接数据库后,出现“密码已过期”的错误时,请执行OpenWithNewPassword命令来提供新密码。   
    Data Source=myOracleDB;User Id=myUsername;Password=myPassword;oConn.OpenWithNewPassword(sTheNewPassword);     
    Proxy验证 
    Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Proxy User Id=pUserId;Proxy Password=pPassword;     
    Core Labs OraDirect (.NET) Standard 
    User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;     
    Data Shape MS Data Shape 
    Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;
     
      

  6.   

    如果不想安装Oracle客户端的话,必须要引用第三方控件了(OracleDirect),或者调用WebService
      

  7.   

    Oracle 
     ODBC 
     New version:"Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;"  Old version:"Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"  OLE DB, OleDbConnection (.NET) 
     Standard security:"Provider=msdaora;Data Source= MyOracleDB;UserId=UserName;Password=asdasd;" 
    This one's from Microsoft, the following are from Oracle
     Standard Security:"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;"  Trusted Connection:"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;"  OracleConnection (.NET) 
     Standard:"Data Source=Oracle8i;Integrated Security=yes"; 
    This one works only with Oracle 8i release 3 or later
     Declare the OracleConnection:C#:
    using System.Data.OracleClient;
    OracleConnection oOracleConn = new OracleConnection();
    oOracleConn.ConnectionString = "my connectionstring";
    oOracleConn.Open();参考资料:http://www.cnblogs.com/daview/archive/2004/04/10/5763.aspx