2016-04-27 48 views
0

我刚刚从Oracle SQL Developer创建了一个名为BATCHINSERT的新数据库连接。但是当我尝试tnsping时,我收到以下错误消息。如何为新的数据库连接编写sqlnet.ora和tnsnames.ora

TNS Ping Utility for 64-bit Windows: Version 11.2.0.2.0 - Production on 27-APR-2016 15:28:37 

Copyright (c) 1997, 2014, Oracle. All rights reserved. 

Used parameter files: 
C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora 

TNS-03505: Failed to resolve name 

这是我sqlnet.ora

# sqlnet.ora network configuration file in 
# /opt/oracle/product/11.2.0/network/admin 
NAMES.DIRECTORY_PATH=(TNSNAMES) 
NAMES.DEFAULT_DOMAIN=WORLD 
SQLNET.AUTHENTICATION_SERVICES = (NTS) 

这是我tnsnames.ora

BatchInsert= 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
(CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SID = XE) 
)) 

如何写好它,所以我可以从.bat文件运行它的入口?

+0

没有得到你的答案 –

回答

3

sqlnet.oraWORLD默认域名,所以你tnsnames记录必须有太:

BatchInsert.WORLD= 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
(CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SID = XE) 
)) 

然后,您应该能够tnsping和使用任何batchinsertbatchinsert.world连接。

或者,您可以从sqlnet.ora中删除NAMES.DEFAULT_DOMAIN=WORLD行,但您可能已经有其他事情已经期望设置。

这与SQL Developer无关,除非您想在连接定义中使用该TNS别名,而不是使用Basic连接。如果您已经拥有XE的TNS条目,则可以使用该条目,而无需定义指向相同服务/ SID的新条目。

+0

它通过在ora文件中添加enteries运行正常 –

1

SQL Developer的默认不读SQLNET.ORA

易修复,在首选项,指向目录的TNSNAMES文件。

tns directory sql developer preferences

如果启用瘦驱动程序连接,让您的$ ORACLE_HOME OS VAR集,然后SQLDev应该看到和使用你的sqlnet.ora文件进行连接的东西。