使用sqlldr将数据加载到远程数据库

nat*_*ath 12 oracle

我想使用sqlldr将数据加载到远程数据库.我使用以下命令完成了它

>sqlldr GANUKA/GANUKA@jdbc:oracle:thin:@172.21.0.180:1521:orcl control=D:\Work\CLSTMAS.ctl 
log=D:\Work\CLSTMAS.log
Run Code Online (Sandbox Code Playgroud)

但它给出了以下错误.

SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
ORA-12154: TNS:could not resolve the connect identifier specified
Run Code Online (Sandbox Code Playgroud)

需要帮助

Cod*_*odo 32

你在这里混淆了两个不同的世界.一个是sqlldr所在的OCI世界.它期望在TNSNAMES.ORA(或类似服务)中定义Oracle实例名称.另一个世界是JDBC世界,它使用带有"jdbc"或"thin"等字的连接标识符.

所以你有两个选择:

  • 如果您的环境具有正确的TNS设置,则必须将命令行更改为类似的设置 sqlldr GANUKA/GANUKA@MONTY.CORP control=...

  • 如果没有,您可以使用Easy Connect字符串: sqlldr GANUKA/GANUKA@//172.21.0.180:1521/orcl control=...