Проблема SQL * Loader - PullRequest
       11

Проблема SQL * Loader

0 голосов
/ 08 октября 2009

Я получаю ошибку SQL * Loader -606, что означает:

Синоним, указанный в INTO Предложение TABLE в элементе управления SQL * Loader файл определяет удаленный объект через ссылка на базу данных. Только синоним для можно указать существующую локальную таблицу в предложении INTO TABLE.

Есть ли какой-нибудь способ, которым мы можем вставить в удаленную таблицу, используя SQL * Loader?

Ответы [ 4 ]

6 голосов
/ 08 октября 2009

Поскольку вы используете 10g, вы можете использовать внешние таблицы вместо SQL Loader.

Настроить внешнюю таблицу легко. Узнать больше .

Чтобы Внешняя таблица получила новый файл (что может потребоваться из-за повторяющегося процесса), выполните следующее:

alter table your_ext_table_name location ('<newfile.name>')
/

Тогда вы можете сделать это:

insert into whatever_table@remote_db
    select * from your_ext_table_name 
/

Это позволяет избежать двух партий DML. Внешние таблицы не так быстры, как хорошо настроенный процесс загрузчика SQL *, но это будет тривиально по сравнению с налогом на сетевой трафик (что неизбежно в вашем сценарии).

2 голосов
/ 08 октября 2009
create table temp_table as select * from remote_table@remote_db where 1 = 2;

load using sql*loader into temp_table;

insert into remote_table@remote_db select * from temp_table;
1 голос
/ 08 октября 2009

Запустить SQL Loader на сервере с таблицей?

Должно быть причиной, почему нет, но мне кажется, что это проще всего.

0 голосов
/ 23 ноября 2009

Если вы не можете использовать внешние таблицы (например, поскольку файл данных находится на клиентском компьютере, а не на сервере базы данных), вы можете вставить его в представление удаленного объекта.

Например

create database link schema1 connect to schema1 identified by schema1 using 'XE';
create view schema1_test_vw as select * from test@schema1;

load data
 infile *
 append
 into table schema1_test_vw
 ( id POSITION(1:4) INTEGER)
begindata
1001
1002
1003

успешно выполнено в моем тесте XE. Для просмотра все размеры столбцов, типы данных и т. Д. Зафиксированы в локальной схеме, поэтому у sqlldr нет проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...