1

SQL Loader を使用して Oracle データベースにデータをロードしようとしています。TNS の代わりに DSN を使用してデータをロードするサーバーを指定して呼び出すことはできますか?

現在、私のコマンド ラインは次のようになっています:を指す DSNsqlldr uesr/password@tns_id...に置き換えたいと思います。SQL ローダーは、DSN から TNS を単独で判断できますか?tns_idtns_id

4

1 に答える 1

0

データベースは、ホスト名、ポート (通常は 1521)、およびサービス/SID によって (Oracle 用語で) 識別できます。

SQL Loader は DSN 自体を操作することはできませんが、Windows スクリプトなどを使用してホスト/ポート/サービス情報をワームアウトすることができれば、ほとんど問題は解決します。


完全なクライアントをインストールし、tnsnames.ora を実行すると、

tnsping dbname

次のようなものを取得する必要があります

Attempting to contact 
(DESCRIPTION = (ENABLE=BROKEN) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = servname)))
OK (30 msec)

その後、できるはずです

sqlplus user/pass@hostname:1521/servname
于 2010-03-14T22:01:11.467 に答える