日期:2014-05-20  浏览次数:20693 次

C#写ORACLE应用程序的简单问题
1、如何不本机不安装ORACLE可以调试,远程有ORACLE,因为ORACLE太大,而且装完后启动好慢;
2、我创建一个WINDOWS   FORM的项目后,新建了一个ORACLE类,引入System.Data.OracleClient类,开始还好好的,编译都正常,当我关机下班回家后,重新开机写这个程序时,不知道改动了哪里,在编译的时候,突然提示OracleClient类不存在,用VS自动提示System.Data.的子类,也只有ODBC,OLEDB,SQLCLIENT等5个子类,但是MSDN上看DATA类的子类好多,怎么回事?后来无奈我只好改成OLEDB来做,虽然也可以解决问题,但总是觉得不爽。MS自定义的ORACLE类应该要好于OLEDB这种通用的吧?
3、这个程序写完后,我放到了一台服务器上测试正常,但今天同事拿去真实服务器上测试,居然就出现了ORA-12154   无法解析服务名称的错误,但同事肯定的说这个链接是正常的,两个程序都是一样的,就是在OLEDB的OPEN的时候出错了。真是不明白,
4、myReg.WTRegedit( "ORACLEString ", "Provider=OraOLEDB.Oracle.1;Persist   Security   Info=True;User   ID=gxtgp;Password=gxtgp1234;Data   Source=gxtg
is   there   any   other   string   for   oracle   ,tks

------解决方案--------------------
1.那是不可能的。作为开发的客户端必须安装Oracle的客户端,还要安for .net 的一个插件,才可以开发。
2.很奇怪的问题。无法回答。
3.你去客户那实施的时候连的是哪个服务器,实例名和服务器名是否写对。还有就是要建立监听。你也可以把ORA-12154输入google搜一下。看看怎么解决!!
------解决方案--------------------
TO:1、如何不本机不安装ORACLE可以调试,远程有ORACLE,因为ORACLE太大,而且装完后启动好慢;

可以不安服务端,只安Oracle的客户端,建一个本地连接远程oracle服务器端的连接即可...

TO:2..

重新添加一遍引用试试... "引用 "-> "添加引用 "-> ".net "-> 选择 "System.Data.OracleClient "-> 确定..-> 然后 "using System.Data.OracleClient; "即可..

TO:3..

可以将你的连接字符串贴出来看看...

如果你用的是provider用的是OraOLEDB.Oracle.1,可以换成Provider=MSDAORA.1再试试...