环境:
Windows 2003, IIS 6
ASP.NET 4.0
.NET Framework 4.0
Oracle 11G
问题描述:
SqlPlus可以通过TNS别名连接DB。
Web.Config中DataSource如果直接写Data Source=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.187)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = test))),Web也可以正常运行。
但是如果在Web.Config中DataSource写成TNS别名如Data Source=DBTEST,就报ORA-12154: TNS: 无法解析指定的连接标识符。这里用的TNS别名通过SqlPlus测试过是可以正常连接的。
真是没辙了,太诡异,请问IIS的Web.Config访问TNS跟SqlPlus有什么不同吗?搞不懂是哪里出了问题。
另外,之前Web项目使用TNS别名都是正常的,在我把项目的ASP.NET版本从2.0改成4.0之后就不能用了,但是我再改回2.0也不能用了,不知道这个改动会动到什么地方,有没有影响
在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的方式连接,但是Oracle则需要通过Oracle客户端配置网络服务名的方式来连接。否则就会出现“ORA-12154: TNS: 无法解析指定的连接标识符”。
我已经有提到,TNS设定好之后用SqlPlus可以正常连接。
莫名其妙的第二天自己好了,不知道问题出在哪