尝试将Visual Studio应用程序连接到Oracle时出现错误
我是Oracle的新手。我试图将Visual Studio 2010 VB应用程序与远程服务器上的Oracle Server连接起来。尝试将Visual Studio应用程序连接到Oracle时出现错误
我通过证明主机名称和服务名称来配置我的tnsnames.ora。当我试图测试连接在服务器Exploreer使用添加连接功能,我得到了以下错误:
ORA-12514:TNS:监听器目前不知道在连接描述符请求服务的
这是否意味着我输入到tnsnames.ora中的值是错误的。或者,我是否需要配置其他任何文档 - listener.ora,例如?除了上面提到的,我没有做任何其他更改。请让我知道如何解决这个问题,因为它是时间敏感的。
谢谢
先将Visual Studio移出图片。您需要确认您的Oracle客户端已在您的计算机上正确配置。
如果您安装了Oracle连接工具,则应该安装tnsping
。在命令行中输入
tnsping <server_name>
这将尝试找到使用你的TNSNAMES文件中指定的配置(如果你SQLNET文件被配置为拥有甲骨文使用TNSNAMES协议)的Oracle服务器。如果发现它,它会告诉你它使用了什么方法。然后,您可以将此信息用于Visual Studio连接。
确保你的sqlnet文件是正确的。您使用此文件告诉Oracle用于解析服务器的协议顺序(例如,tnsnames,ldap等)。我看起来如下:
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH = (LDAP,TNSNAMES)
NAMES.DEFAULT_DOMAIN = <domain_name>
这通常意味着两件事之一。
- 您没有安装ODP.Net或它缺少一些dll的(不太可能)
- 你有机器和.NET上的Oracle客户端的多个版本无法找到正确的。
转到机器的系统路径,并确保路径语句中的第一个oracle路径指向正确的oracle客户机安装。
要删除的Oracle
- 如果运行
- 删除所有Oracle目录停止DTC服务和Oracle MTS服务(C:\ Program Files文件,C:\ ORACLE,C:\ APP等)
- 从路径语句中移除甲骨文(所有条目)
- 删除任何环境变量
- 在本地计算机的注册表和当前用户部分删除甲骨文条目(如果存在)
- 重新启动机器
- 重新安装正确的版本
你说得对 - 我有2个版本的Oracle客户端。当我尝试在Visual Studio中添加连接时,数据源下拉列表包含client_2目录的tnsnames.ora中包含的别名。路径语句中的第一个Oracle路径也是client_2。所以我认为它是指向正确的客户端安装。在这种情况下我能做些什么? – user965767
老实说,我会删除两个Oracle安装并重新安装干净。大约5年来我一直在处理这些问题(oracle和.net),这并不美观。最好运行一个版本。我正在编辑我的答案,并清除删除oracle的步骤。 – tsells
是否有可能避免所有这些并使用ODBC连接到oracle数据库? – user965767
Thanks.I试图TNSPING,得到了以下几点:使用HOSTNAME适配器来解析别名 试图联系(DESCRIPTION =(CONNECT_DATA =(SERVICE_NAME =))( ADDRESS =(PROTO COL = TCP)(HOST = 165.91.176.54)(PORT = 1521))) OK(0毫秒)这是否意味着它已经配置正确?我必须使用主机名连接吗?我刚刚在Visual Studio的“添加连接”功能中使用我的用户名和密码测试了连接。 – user965767
另外,这里是我的sqlnet文件SQLNET.AUTHENTICATION_SERVICES =(NTS) #NAMES.DIRECTORY_PATH =(TNSNAMES,EZCONNECT) 我应该取消注释第二行吗? – user965767
如果返回tnsping,这意味着您的配置是正确的。您是否安装了Oracle Visual Studio工具(ODT)?或者你刚开始使用服务器资源管理器? –