上周,实验室的数据库崩溃了,周末新安装数据库后,在客户端配置好TNSNAMES.ORA以后,PL/SQL DEV 可成功login on,但VS2005程序里连接数据库死活都不成功,提示
“ORA-01017: 无效的口令/密码,拒绝登录”错误。ConnectionString中的Data Source/User Id/ Password跟PL/SQL登录用的是一样的,怎么会无效呢?卡在这里,硬是弄了很久。并且Net Manager配置也没有问题,测试连接成功。单点跟踪后发现ConnectionString只要赋值,Connection就马上有
“ServerVersion引发了“System.InvalidOperationException”类型的异常”。
回头仔细一琢磨发现:PL/SQL用的是TNSNAMES.ORA里的配置,而程序里用的是ODAC里的ODP.NET,原来的数据库是ORACLE 10g R2的,而ODAC也是10.2.0.21 for VS2005的,所以一直都是没有问题的。问题出在,新安装的ORACLE已经是11g了,所以用10g的ODP.Net去访问会出现异常!!这是版本冲突的原因。在网上看了一些关于
“ServerVersion引发 了“System.InvalidOperationException”类型的异常”的分析,不是说Try{}Catch{}语句用的有问题就是说配置有问题,看来客服端的ODP.NET的版本一定要与数据库版本相统一!!!(哎,有点浪费时间啊)
https://blog.sciencenet.cn/blog-427149-345437.html
上一篇:
新的起点下一篇:
美国NASA公布了第一张陆地卫星8(Landsat-8)影像