c#连接oracle数据库app.config,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 的路径放到最前面;

876258c09c83d538ef7516e9bc0be343.png

ce7532f50ca1c96fb0d1cbdddfc0e2a8.png

4.修改 tnsnames.ora,注意 service_name值有可能与sid不同;

service_name部分也可以写成SID=XXXXXX

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

23921e2e2c4d7f53d427c47b8096f36b.png

5.设置环境变量 TNS_Admin

如:C:\app\Administrator\product\11.2.0\client_1\Network\Admin\Sample是放置 tnsnames.ora的路径;

1edb4f5bd0dadb76e10d4c3e0af9c4ef.png

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有时候可能不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值