Microsoft数据链接| Oracle数据库名称与域名冲突(?)

时间:2018-11-29 06:47:02

标签: sql-server oracle oraoledb

当使用OraOLEDB测试新创建的连接时,我正在解决“网络服务名称”的一个特有问题,从而以某种方式引起了不相关的问题。我们的旧数据库名称与我们的域名相同(该域是在数据库投入生产后很晚才设计和实现的)

这是定义Oracle Net Service名称的方式:

KAZEMA =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.200)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = KAZEMA)
    )
  )

,我们的内部域为KAZEMA.COM。如果我尝试为ORACLE连接创建一个UDL文件,将Net Service Name命名为KAZEMA,则会收到TNS超时错误并且对Net Service Name进行较小的更改,例如KAZEMA1会建立连接而没有任何抱怨。 。但是,除了UDL之外,此网络服务名称不会影响VS或SSMA等(到目前为止)的任何其他连接尝试。

我对此行为做了一些解释。

1 个答案:

答案 0 :(得分:0)

好的,对我之前的评论表示歉意,该评论在发布前并未经过两次测试。通过启用对连接尝试的跟踪,我找到了“问题”。 我在\ user \ desktop上有一个tnsnames.ora文件的副本,由于我不知道的原因,.udl文件在尝试建立连接时将tnsnames.ora的副本用作本地文件。

2018-12-09 17:23:51.970 : nnftmlf_make_local_addrfile:local names file is C:\Users\rthampi\Desktop\tnsnames.ora
2018-12-09 17:23:51.970 : nnftmlf_make_local_addrfile:exit
2018-12-09 17:23:51.970 : nlpaxini:entry
2018-12-09 17:23:51.970 : nlpaxini:exit
2018-12-09 17:23:51.970 : nnftmlf_make_system_addrfile:entry
2018-12-09 17:23:51.970 : nnftmlf_make_system_addrfile:system names file is D:\oracle\product\12.2.0\dbhome_1\network\admin\tnsnames.ora
2018-12-09 17:23:51.970 : nnftmlf_make_system_addrfile:exit
2018-12-09 17:23:51.970 : nnftboot:exit
2018-12-09 17:23:51.970 : nnftrne:entry
2018-12-09 17:23:51.970 : nnftrne:Original name: KAZEMA

此tnsnames.ora副本具有相同的网络服务名称和不同的IP地址,从而导致TNS超时错误。