SQL Loader を使用して Oracle データベースにデータをロードしようとしています。TNS の代わりに DSN を使用してデータをロードするサーバーを指定して呼び出すことはできますか?
現在、私のコマンド ラインは次のようになっています:を指す DSNsqlldr uesr/password@tns_id...
に置き換えたいと思います。SQL ローダーは、DSN から TNS を単独で判断できますか?tns_id
tns_id
SQL Loader を使用して Oracle データベースにデータをロードしようとしています。TNS の代わりに DSN を使用してデータをロードするサーバーを指定して呼び出すことはできますか?
現在、私のコマンド ラインは次のようになっています:を指す DSNsqlldr uesr/password@tns_id...
に置き換えたいと思います。SQL ローダーは、DSN から TNS を単独で判断できますか?tns_id
tns_id
データベースは、ホスト名、ポート (通常は 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