使用Oracle ODP.NET 11g的.NET程序发布方法

ODP.NET 11g是Oracle发布的供.NET程序访问Oracle数据库的ADO.NET组件,比微软自带的Oracle组件性能好,更可以访问UDT(User Defined Type)类型,Procedure,REF等等高级Oracle特性。

.NET 1.1的客户端需要的发布文件如下:
  • Oracle.DataAccess.dll (odt111\odp.net\bin\1.x)
  • OraOps11.dll (odt111\bin)
.NET 2.0需要发布:
  • Oracle.DataAccess.dll (odt111\odp.net\bin\2.0)
  • OraOps11w.dll (odt111\bin)
上面的客户端均需要OCI基本包支持:
  • oci.dll
  • oraociei11.dll (也可以用更小的oraociicus11.dll代替)
  • orannzsbb11.dll

为了在客户端测试方便,还可以加上SQL*Plus包,包括两个文件:
  • sqlplus.exe
  • orasqlplusic11.dll
发布sqlplus包可以使用sqlplus "user_name/password@//192.168.1.31:1521/ORCL"在客户端测试Oracle的状态。

根据上面原则,最小的ODP.NET Oracle客户端发布文件包括5个文件,压缩后大小为8MB:
  • oci.dll
  • oraociicus11.dll
  • orannzsbb11.dll
  • Oracle.DataAccess.dll
  • OraOps11.dll

详细信息还可以参考这里:
http://download.oracle.com/docs/cd/B28359_01/server.111/b31189/apd.htm
http://forums.oracle.com/forums/thread.jspa?threadID=519176&tstart=0&messageID=2060399

以及门户网站:
http://www.oracle.com/technology/tech/dotnet/index.html
posted @ 2008-01-21 09:50 丁丁 阅读(1200) 评论(2) 编辑 收藏

 回复 引用 查看   
#1楼2008-04-14 18:53 | 网碾平      
楼主在文中讲到8M发布ODP.NET,但我按你的方法并没有搞成功. 请教我应该如何COPY这些文件,如何写注册表? 请你能把你的发布方法打包发到我邮箱gghxh#126.com,好吗?
 回复 引用 查看   
#2楼[楼主]2008-04-15 20:36 | 丁丁      
不需要写注册表,直接拷贝5个文件即可,如果不成功,加上两个SQLPLUS文件在客户端测试一下,我觉得你最可能犯错的地方在连接字符串,不要用TNS Name,直接将数据库连接信息写在config里面,比如这样:
<appSettings>
<add key="oraConn.ConnectionString" value="USER ID=user_name;DATA SOURCE=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db_server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCLDB)));PASSWORD=password;PERSIST SECURITY INFO=true;" />
</appSettings>