vs中怎样连接服务器上的oracle数据库

vs中怎样连接服务器上的oracle数据库,第1张

本地机器tnsnames.ora

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的值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9369661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存