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
Visual studio 连接到oracle_Visual Studio_Oracle - Fatal编程技术网

Visual studio 连接到oracle

Visual studio 连接到oracle,visual-studio,oracle,Visual Studio,Oracle,我在VS2005中有一个报表服务器项目,我在项目中添加了一个oracle数据源,我做了与我的同事一样的事情!我们都做了相同的设置,但我无法连接到服务器。我在TOAD中连接到DB,但在VS2005中无法连接。我应该检查什么? 我在测试连接期间遇到此错误: ORA-12154:TNS:无法解析指定的连接标识符您可以使用以下链接: 原因: 已使用连接标识符请求与数据库或其他服务的连接,无法使用配置的命名方法之一将指定的连接标识符解析为连接描述符。例如,如果使用的连接标识符类型是网络服务名称,则在命名

我在VS2005中有一个报表服务器项目,我在项目中添加了一个oracle数据源,我做了与我的同事一样的事情!我们都做了相同的设置,但我无法连接到服务器。我在TOAD中连接到DB,但在VS2005中无法连接。我应该检查什么?
我在测试连接期间遇到此错误:

ORA-12154:TNS:无法解析指定的连接标识符

您可以使用以下链接:

原因:

已使用连接标识符请求与数据库或其他服务的连接,无法使用配置的命名方法之一将指定的连接标识符解析为连接描述符。例如,如果使用的连接标识符类型是网络服务名称,则在命名方法存储库中找不到该网络服务名称,或者无法找到或访问该存储库

行动:

  • 如果使用本地命名(TNSNAMES.ORA文件):
  • 确保“TNSNAMES”列为Oracle网络配置文件(SQLNET.ORA)中NAMES.DIRECTORY\u PATH参数的值之一

  • 验证TNSNAMES.ORA文件是否存在,是否位于正确的目录中,是否可以访问

  • 检查TNSNAMES.ORA文件中是否存在用作连接标识符的网络服务名称

  • 确保TNSNAMES.ORA文件中没有语法错误。查找不匹配的括号或零散字符。TNSNAMES.ORA文件中的错误可能使其无法使用

-如果使用目录命名:

  • 验证“LDAP”是否列为Oracle网络配置文件(SQLNET.ORA)中NAMES.DIRETORY_PATH参数的值之一

  • 验证LDAP目录服务器是否已启动且可访问

  • 验证目录中是否配置了用作连接标识符的网络服务名称或数据库名称

  • 通过指定完全限定的网络服务名称或完整的LDAP DN作为连接标识符,验证所使用的默认上下文是否正确

-如果您使用的是easy connect命名:

  • 验证“EZCONNECT”是否列为Oracle网络配置文件(SQLNET.ORA)中NAMES.DIRETORY_PATH参数的值之一

  • 确保指定的主机、端口和服务名称正确

  • 尝试将连接标识符括在引号中。有关命名的详细信息,请参阅《Oracle Net Services管理员指南》或《Oracle操作系统特定指南》

编辑


我尝试了主机:端口/MYDB服务器名部分直接连接到oracle,但成功了。

我们在Visual Studio 2010中使用TNSNAMES.ora连接数据库时遇到问题。
TNSNAMES文件正确,oracle安装正确,但无法在“添加连接”屏幕中选择连接。
事实证明,TNSNAMES在“添加连接”屏幕中的数据源名称选择字段中有太多的条目。

减少TNSNAMES文件中的条目解决了问题。

我检查了所有条目,甚至重新安装了oracle 10g。但仍然存在问题:您使用的是哪种数据提供程序,System.Data.OracleClient还是Oracle.DataAccess.Client?如果这是第一个,请尝试使用Oracle.DataAccess.Client,因为Microsoft提供的Oracle提供程序有缺陷。我知道我的TNSNAMES.ora中的每件事都很好。因为我可以在TOAD中连接。Visual Studio是否使用与TOAD相同的tnsname?如果尚未连接到Oracle,请尝试使用Oracle.DataAccess.Client连接到Oracle。非常好!有时候我们只是为了简单的解决方案而挖得太深了;P