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
为Oracle指定Easy Connect字符串的防弹方法是什么?_Oracle - Fatal编程技术网

为Oracle指定Easy Connect字符串的防弹方法是什么?

为Oracle指定Easy Connect字符串的防弹方法是什么?,oracle,Oracle,Oracle将Easy Connect字符串描述为 用户名@[/]主机[:端口][服务\u名称][:服务器][实例\u名称] (来自) 但是,我们的一些服务人员经常会遇到这样的问题,即这种格式在客户站点上不起作用,为了方便起见,我们使用TNSNAMES.ORA和别名,这使得Oracle Instant Client的“即时性”有所降低 但是,实际上,连接字符串是集中管理的,因此系统中连接到数据库的所有计算机上的别名都需要相同,这是一个维护难题 这些故障是由于我们对Oracle命名系统的所有部分、

Oracle将Easy Connect字符串描述为

用户名@[/]主机[:端口][服务\u名称][:服务器][实例\u名称]

(来自)

但是,我们的一些服务人员经常会遇到这样的问题,即这种格式在客户站点上不起作用,为了方便起见,我们使用TNSNAMES.ORA和别名,这使得Oracle Instant Client的“即时性”有所降低

但是,实际上,连接字符串是集中管理的,因此系统中连接到数据库的所有计算机上的别名都需要相同,这是一个维护难题

这些故障是由于我们对Oracle命名系统的所有部分、SID的含义、“服务名”、“主机名”、“全局服务名”、命名方法、数据库本地和全局命名设置、SQLNET和TNS侦听器配置缺乏了解所致


由于我无法找到关于这个主题的单一、一致和全面的参考资料,我想我应该把这个问题传递给社区。

如果您正在将客户端应用程序软件安装到现有的客户环境中,那么也许最简单的事情就是对其SQL*Net配置进行反向工程。我会这样做:

  • 使用完整的Oracle客户端进入工作站,该客户端已使用正确的tnsnames.ora和sqlnet.ora文件配置了SQL*Net
  • 针对感兴趣的数据库运行tnsping实用程序,将产生类似以下内容的输出:
$tnsping testdb

Linux的TNS Ping实用程序:11.1.0.6.0版-2009年5月12日生产08:28:11

版权所有(c)1997年,2007年,甲骨文。版权所有

使用的参数文件: /home/oracle/oracle/product/11.1.0/network/admin/sqlnet.ora

使用TNSNAMES适配器解析别名 正在尝试联系(DESCRIPTION=(ADDRESS\u LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testhost(PORT=1521)))(CONNECT\u DATA=(SERVICE\u NAME=testdb.world))) 正常(0毫秒)

这将告诉您主机名以及数据库侦听器期望连接的方式(端口和服务名称与SID)。您现在有了指定Easy Connect字符串的信息。顺便说一句,tnsping实用程序也可以在Windows客户端上使用