好处:
1、不安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开)
2、不需要安装ODAC
3、不需要配置TnsNames.Ora文件
缺点:
不能使用odac for .net中对应的工具
步骤:
如果不安装Oracle11g的客户端则需要在程序的debug目录下拷贝如下几个dll文件
oci.dll
oracle.dataaccess.dll
oraops11w.dll
oraociei11.dll
这几个文件可以从下载的ODAC安装包中找到,我下载的是ODTwithODAC112030.zip,由于这些文件都放在..\stage\Components\..下面的压缩包里,所以比较难找,因此可以采用第二种方法:在安装有ODTwithODAC112030的计算机上找到相应的安装目录,将目录下面的对应文件copy出来就可以了
建议:在编码的时候最好是安装ODTwithODAC,在服务器上部署的时候不安装
代码实例:
usingOracle.DataAccess.Client; |
|
... |
stringconnstring =@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=211.80.205.213)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));User Id=sys;Password=sys;"; //这里可以放到配置文件中 |
using(OracleConnection conn = newOracleConnection(connstring)) |
{ |
|
conn.Open(); |
stringsql = "select * from users"; |
|
using(OracleCommand comm = newOracleCommand(sql, conn)) |
{ |
|
using(OracleDataReader rdr = comm.ExecuteReader()) |
{ |
|
while(rdr.Read()) |
{ |
|
Console.WriteLine(rdr.GetString(0)); |
} |
|
} |
} |
|
} |
更加复杂的odp.net与pl/sql自定义类型的实例参见http://www.cnblogs.com/KissKnife/archive/2011/04/21/2023472.html