Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在没有TNS的情况下构造到Oracle的.NET连接字符串?_Asp.net_Oracle_Sharepoint 2010_Toad - Fatal编程技术网

Asp.net 如何在没有TNS的情况下构造到Oracle的.NET连接字符串?

Asp.net 如何在没有TNS的情况下构造到Oracle的.NET连接字符串?,asp.net,oracle,sharepoint-2010,toad,Asp.net,Oracle,Sharepoint 2010,Toad,我有一个Sharepoint 2010.NET 3.5系统,在我的本地Windows 7计算机上运行,带有IIS。我无法通过Oracle.DataAccess.dll连接到我们公司的Oracle数据库。我在.NET webapp(sharepoint)中收到的错误消息是“ORA-12154:TNS:无法解析指定的连接标识符” 好消息是: 我可以连接到这个数据库罚款与蟾蜍,从我的同一台电脑 我们的测试服务器可以通过sharepoint/.net和其他一切连接到数据库 所以我觉得我很接近,只需要

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

好消息是:

  • 我可以连接到这个数据库罚款与蟾蜍,从我的同一台电脑
  • 我们的测试服务器可以通过sharepoint/.net和其他一切连接到数据库
所以我觉得我很接近,只需要调整一下。我读过的一堆文章说,通过构造一个.net连接字符串,剪切TNS/ora文件,直接从.net转到DB:

connString=“用户id=usridname;密码=yourpassword;数据源=(描述=(地址=(协议=tcp)(主机=hostnamehere)(端口=1521))(连接\数据=(服务\名称=servicenamehere));”

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


有什么想法吗?

您需要找到您的
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\u 3\network\admin\

如果此操作有效,或者您找到了文件但条目不存在,请尝试运行
netca
,并使用向导创建条目


有时,人们安装了多个客户端软件,而
路径就乱七八糟了

最好的解决方案是执行一次tnsping,然后获取值来构造连接字符串:connString=“user id=usridname;password=yourpassword;data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostnamehere)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=servicenamehere));”