2012-08-09 42 views
0

我进入了TOAD并将TNS名称放入了由DBA提供给我的数据库。我也把用户和密码,它连接好。 我的困惑是tnsnames.ora文件没有任何与该db名称对应的条目。那么TOAD如何解析数据库名称?尽管数据库名称不在tnsnames.ora中,但TOAD连接

+0

当你进入TNSNames编辑器时会发生什么 - 是否显示在那里? – 2012-08-09 19:26:35

+0

没有人......它显示空文件:) – Victor 2012-08-09 19:27:49

+0

嗯那么在ODBC数据源管理员 - 在用户或系统DSN下是否有相应的数据库条目? – 2012-08-09 19:29:53

回答

1

在您的Oracle客户端中,ldap.ora文件可以列出一个或多个ldap服务器名称,可以查询它们以获取给定TNS名称的Oracle实例信息。这样,TOAD(和其他应用程序)就可以解析未列在tnsnames.ora文件中的Oracle数据库名称。

+0

只是想知道显而易见的事情:如果我尝试连接的db名称存在于ldap.ora中列出的多个服务器上?因此,如果ldap.ora有server1,server2,server3 ....并且我试图连接到名为'testdb'的数据库,并且如果'testdb'存在于所有服务器上,那么oracle将如何解决它? – Victor 2012-08-21 18:34:31

+0

我注意到,如果您使用procmon观察一些网络流量,并将其过滤为仅包含toad.exe,则可以看到当您使用Toad连接到数据库时,与列表上的第一台ldap服务器进行了一些通信。如果此ldap服务器具有客户端所需的信息,则不会查询任何后续的ldap服务器。我假设(尽管我没有测试过),如果列表中的第一个ldap服务器没有信息,那么只有第二个服务器才会被查询。等等...... – hmqcnoesy 2012-08-21 20:24:21

+0

非常感谢您的详细解释。 – Victor 2012-08-21 20:40:11

相关问题