工作心得网

工作心得精彩分享
代码积累持续学习

C#连接oracle数据库控制台程序部署需要注意问题

今天主要测试部署XXXXXXX的程序,中间遇到不少挫折,网上找了不少资料,最后问题还是终于解决了;

总结如下:

调试问题不要乱猜,如果能找到依据,要尽量找到依据,我开始错略看了错误日志,判断是tnsnames.ora设置问题,后来plsql能连接上,说明设置应该是没问题的;

最后看C#的app.config的配置代码,忽然想到能不能会是配置文件里只能用oralce数据库的service_name名,不能使用SID,最后试验,还真是这个问题。


1.服务器器是win2008 r2,需要安装.net4.5framework ; 
我安装的是 
dotNetFx40_Full_x86_x64 离线独立安装包

2.安装ODTwithODAC1120320_32bit程序,ODTwithODAC是连接oracle数据库的中间件,因为我C#代码里引用的是32位的; 

3.解压instantclient-basic-win-x86-64-11.2.0.1.0 到 ODTwithODAC1120320_32bit的安装路径下,设置环境变量path路径,instantclient-basic-win-x86-64-11.2.0.1.0 的路径放到最前面; 




4.修改 tnsnames.ora,注意 service_name值有可能与sid不同; 
service_name部分也可以写成SID=XXXXXX

service_name和SID的值请咨询oracle数据库管理员


5.设置环境变量 TNS_Admin
如:C:\app\Administrator\product\11.2.0\client_1\Network\Admin\Sample 
是放置 tnsnames.ora的路径; 


6.安装PLSQL客户端,32位或64位都可以; 
7.C#代码的配置文件app.config中的连接字符串 
DATA SOURCE=IP:1521/serice_name;PASSWORD=XXX;USER ID=XXX" providerName="System.Data.OracleClient“ 
serice_name一定要填写正确,不是sid,serice_name与sid有时候可能不同。


我们的缺点麻烦您能提出,谢谢支持!

关于站长