如何在没有TNS的情况下为Oracle构建.NET连接字符串?

时间:2013-06-15 20:48:32

标签: asp.net oracle sharepoint-2010 toad

我在带有IIS的本地Windows 7计算机上运行了Sharepoint 2010 .NET 3.5系统。我无法通过Oracle.DataAccess.dll连接到我们的公司Oracle数据库。我在.NET webapp(sharepoint)中收到的错误消息是“ORA-12154:TNS:无法解析指定的连接标识符”。

这是好消息:

  • 我可以用同一台PC上的TOAD连接到这个数据库。
  • 我们的TEST服务器可以通过sharepoint / .net和所有内容连接到数据库。

所以感觉我非常亲密,只需要调整一些东西。我读过的一堆文章说要删除TNS / ora文件,然后通过构建一个.net连接字符串直接从.net到DB:

connString =“user id = usridname; password = yourpassword; data source =(DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(HOST = hostnamehere)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = servicenamehere))) ;“

我很乐意使用这种方法。我有用户名和密码,但我不知道如何发现其他部分。通过检查我的TOAD连接,或通过窥视有效的TEST服务器上的某个文件来发现主机名,端口和服务名称可能是一件简单的事情。但我不知道在哪里看,无论是在蟾蜍,还是在它工作的测试服务器上。我对测试服务器有完全的远程桌面管理员访问权限,所以我可以查看任何内容。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要找到tnsnames.ora文件并检查条目。

从正在运行的服务器的命令行运行tnsping,其中包含您使用toad连接的连接的名称。

> tnsping haki

TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on 16-JUN-2013 14:14:10

Copyright (c) 1997, 2006, Oracle.  All rights reserved.

Used parameter files:
C:\oracle\product\10.2.0\db_3\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *****)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = haki))) 
OK (0 msec)

在网络参数目录下查找名为tnsadmin.ora的文件。正如你所看到的,就我而言,它是C:\oracle\product\10.2.0\db_3\network\admin\

如果此剂量有效或您找到了该文件但该条目不存在,请尝试运行netca并使用向导创建一个条目。

有时候人们会安装一个以上的客户端软件,而PATH就会出现问题。