【发布时间】:2014-07-02 21:08:13
【问题描述】:
我正在编写一个 shell 脚本来将一些文本文件导入 Oracle 数据库。该脚本必须依次调用sqlldr。然而,我发现这个特定的 Oracle 安装(我们称之为 SYS1)由于某种原因没有sqlldr,我无法通过运行安装程序来更新它。我确实找到了另一个安装了看似相同版本的 Oracle (11.2.0) 的系统 (SYS2),它在 C:\Oracle\product\11.2.0\client_1\BIN 中有 sqlldr.exe。所以我复制了那个 exe 文件,加上 SYS2 中 C:\Oracle\product\11.2.0\client_1\lib 中缺少的 SYS1 中的任何内容。我还定义了ORACLE_BASE 和ORACLE_HOME。不过,当我在 SYS1 上调用复制的 sqlldr.exe 时,我得到:
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL
我还需要做什么才能在 SYS1 上运行移植的 exe?谢谢!
【问题讨论】:
-
SYS1 是否有即时客户端,而 SYS2 是否有完整的客户端或服务器安装?两者之间的混合和匹配不太可能进行得很好。你能从另一台机器上运行
sqlldr,还是从数据库服务器上运行?或者如果您有服务器访问权限,请改用外部表?
标签: oracle sql-loader