SQL*Loader问题

Vij*_*jay 1 sql unix oracle sql-loader

我收到错误SQL*Loader -606,这意味着:

SQL*Loader控制文件中的INTO TABLE子句中指定的同义词通过数据库链接指定远程对象.只能在INTO TABLE子句中指定现有本地表的同义词.

有没有什么办法可以使用SQL*Loader插入到远程表中?

APC*_*APC 6

因为您使用的是10g,所以可以使用外部表而不是SQL Loader.

设置外部表很容易. 了解更多.

要使外部表获取新文件(您可能需要执行此操作,因为您有重复过程),请执行以下操作:

alter table your_ext_table_name location ('<newfile.name>')
/
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

insert into whatever_table@remote_db
    select * from your_ext_table_name 
/
Run Code Online (Sandbox Code Playgroud)

这避免了两批DML.外部表没有经过良好调优的SQL*Loader过程那么快,但与网络流量税(在您的方案中不可避免)相比,这将是微不足道的.