首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL*Loader-704和ORA-12154

SQL*Loader-704和ORA-12154
EN

Stack Overflow用户
提问于 2015-06-13 14:47:05
回答 6查看 21.8K关注 0票数 4
代码语言:javascript
复制
sqlldr "xxxx/xxxx@YYYYYXXXX" control=/home/local/INTERNAL/xxxxx/Presc_SQLLDR_File/Presc_SQLLDR.ctl log=/home/local/INTERNAL/xxxxx/Presc_SQLLDR_File/Presc_log.log data=home/achand/Presc_SQLLDR_File/Presc_SQLLDR.ctl

每当我试图执行sqlldr时,都会出现以下错误

代码语言:javascript
复制
SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
ORA-12154: TNS:could not resolve the connect identifier specified

我试过tnsping YYYYYXXXX

我犯了以下错误

TNS-03505:无法解析名称

tnsnames.ora包含

代码语言:javascript
复制
DDCPPSD.WORLD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXYYY)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = YYYYYXXXX)
    )
  )
EN

回答 6

Stack Overflow用户

发布于 2016-08-11 09:12:02

此错误信息可自我解释。您没有指定连接字符串,只使用用户名和密码。因此,Oracle试图连接到本地数据库。您必须指定username/password@connect_string,,其中connect_string是客户端文件TNSNAMES.ORA中相应条目的名称(与SQL中使用的连接字符串相同)。

票数 6
EN

Stack Overflow用户

发布于 2016-08-11 20:05:28

在我更改密码后对我起了作用。我使用“@”作为密码中的一个特殊字符,导致了这个问题。:(

票数 2
EN

Stack Overflow用户

发布于 2015-06-14 10:53:30

如果您的tnsnames.ora别名是defind为DDCPPSD.WORLD,并且您的sqlnet.ora指定了除WORLD之外的默认域,那么在使用它时需要完全限定别名:

代码语言:javascript
复制
tnsping DDCPPSD.WORLD

代码语言:javascript
复制
sqlldr xxxx/xxxx@DDCPPSD.WORLD control=...

否则,默认域将被附加到非限定名中,从而为您提供一个在tnsnames.ora中不存在的完全限定名。

阅读有关此在文件中的更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30819961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档