C# 通过Devart.Data.Oracle.dll连接oracle,怎么才能摆脱客户端啊。
如题,我现在下载了Devart.Data.Oracle.dll的两个dll,想要摆脱oracle的客户端,直接连接,怎么才能实现啊?我看之前的论坛里面说可以,我也到官网下了例子,不过例子里面的连接部分也是给的数据库的服务名字啊。不是直接给的连接,我该怎么弄?
[最优解释]
没用过Devart.Data.Oracle.dll
http://www.itpub.net/thread-1271000-1-1.html
使用dotNet的odp.net免安装客户端
想来大家都对开发应用程序的部署比较讨厌.特别是CS系统又要使用Oracle数据库的时候.大家都比较羡慕vb开发的系统连接Sql server数据库.基本上拷贝就可以使用.
现在,使用ODP.net的.net程序也可以享受这个方便了.
首先,下载 ODP.net的 11G 11.1.6 或者11.1.7以后的.
找出以下几个文件
Oracle.DataAccess.dll
oci.dll
ociw32.dll
orannzsbb11.dll
oraocci11.dll
oraociei11.dll
OraOps11w.dll
开发数据连接层的时候引用 Oracle.DataAccess.dll.就可以了.
编译好后,只要 拷贝 以上几个文件的可执行目录就可以了.
配置 tnsname别名在 连接串里面写.
is_Rac = true;
if ( sLOAD_BALANCE == string.Empty) sLOAD_BALANCE="yes" ;
str="(DESCRIPTION =" ;
str = str + "(ADDRESS = (PROTOCOL = TCP)(HOST = " +sHostNameNode1+")(PORT = "+sPortNode1+"))" ;
str = str + "(ADDRESS = (PROTOCOL = TCP)(HOST = " +sHostNameNode2+")(PORT = "+sPortNode2+"))" ;
str = str + "(LOAD_BALANCE =" + sLOAD_BALANCE + ")";
str = str + "(CONNECT_DATA =" ;
str = str + "(SERVER = "+ sSERVER +")" ;
str = str + "(SERVICE_NAME = " +sSERVICE_NAME +")" ;
str = str + " ) " ;
str = str + ") ";
就可以免装Odp客户端了.美中不足的是 oraociei11.dll 太大,将今120M ,希望以后Oracle把他搞小点.我原来搞的程序自动配置安装Oracle客户端不过29M
苏郎氏
[其他解释]
还可以在客户端调用webservice,这样就不用装了,平时都是用Sql Server,装了Oracle11g,所以不用额外装客户端了,没注意过
[其他解释]
可以.不过很麻烦.关注方法..
[其他解释]
哈哈。。不是这样说地,你的一个小程序才几百K,不仅要让人家装一个几十MB的.net framework,还要让人家专门装一个oracle客户端,有没有搞错啊,那你干脆别写这个小程序的,100MB下的程序不要写了
[其他解释]
安装客户端绝对比复制的文件多,而且麻烦,让客户多了做了一步,而且oracle的东西都很繁琐,作为软件开发者要尽量减小软件实施和客户的工作量,让她们专注于软件本事的使用上
[其他解释]
service是一种方法。没听说过用Oracle不装客户端的说法,好久没学习,可能孤陋寡闻了
[其他解释]
大家帮个忙,怎么都是需要客户端的例子啊?
[其他解释]
来人帮忙看看啊。
[其他解释]
就是因为那个太大了啊,一个小程序才几百K,外带个dll就100多M,太浪费了。
[其他解释]
我现在用他给的试用的例子,出现了NET: Invalid SID的错误。不知道该怎么解决啊?
[其他解释]
找到原因了,sid后面应该写实例的名字,我给搞错了,不过我用的是30天的试用版,谁手里有好用的破解版啊!
[其他解释]
给大家个我下载的网址 http://www.devart.com/dotconnect/oracle/dcoracle.exe 需要的大家一起研究下。
[其他解释]
http://download.csdn.net/detail/badboy518/4212982