0

という名前のOracle SQL Developerから新しいデータベース接続を作成しましたBATCHINSERT。しかし、私がtnspingそれをしようとすると、次のエラーが発生します。

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ファイルから実行できるようにエントリを書き込む方法は?

4

2 に答える 2

3

のデフォルトsqlnet.oraドメイン名を設定しているWORLDため、tnsnamesエントリにもそれが必要です。

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

その後、 または のいずれかtnspingを使用して接続できるようになります。batchinsertbatchinsert.world

NAMES.DEFAULT_DOMAIN=WORLDまたは、から行を削除することもできますsqlnet.oraが、それが設定されることを期待する他のものが既にある場合があります。

これは、接続を使用するのではなく、接続定義でその TNS エイリアスを使用する場合を除き、SQL Developer とは関係ありませんBasic。XE の TNS エントリが既にある場合は、同じサービス/SID を指す新しいエントリを定義せずに、そのまま使用できます。

于 2016-04-27T10:42:13.950 に答える