ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fuqiang)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
SERVICEORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
服务器tnsnames.ora
SERVICEORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器名称)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
VS中连接代码:
C# code
OracleConnection oracleConnection = new OracleConnection("Data Source=User ID=systemPassword=managerUnicode=True")
这样写连接字符串,可以连接到本地orcl这个实例,没有问题。但是想连接到服务器上的orcl实例,该如何写连接字符串,其它地方都一样吧,只是Data Source要怎么写?
------回答---------
------其他回答(90分)---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。
------其他回答(5分)---------
把你QQ告诉我,我连过去给你看一下。
------其他回答(5分)---------
引用 9 楼 sorry0481 的回复:
又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:
ServerVersion “((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion”引发了“System.InvalidOperationException”类型的异常 string {System.InvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio .NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊。。。
------回答---------
------其他回答(90分)---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。
------其他回答(5分)---------
把你QQ告诉我,我连过去给你看一下。
------其他回答(5分)---------
引用 9 楼 sorry0481 的回复:
又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:
ServerVersion “((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion”引发了“System.InvalidOperationException”类型的异常 string {System.InvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio .NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊
已经安装oracle32位客户端?从我知道的看来,这是不可能的,64位系统是不支持32位的;
还有你说的原先在32位上写的程序不能成功连接oracle数据库这也是当然的,看看你以前的程序编译的时候 是用Any CPU编译的,还是用Win32编译的,如果是Win32(或者x86)那就肯定不能运行了。
可以看下,系统日志。
这个应该是ASP.NET未能找到TNS的配置文件,或者ASP.NET找到的TNS配置文件中没有所要连接的TNS设定。常见的一个原因是系统中有32,64位的Oracle或Oracle客户端共存,但是配置的不是真正连接所使用的客户的TNS。所以, 请检查一下Configuration Assistant配置的文件,然后直接将tnsnames.ora文件所在的路径设置为环境变量TNS_ADMIN的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)