powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Команда COPY вставляет иногда Null вместо корректного значения
19 сообщений из 19, страница 1 из 1
Команда COPY вставляет иногда Null вместо корректного значения
    #39730109
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Столкнулась уже дважды с ситуацией когда ораклевая команда copy пишет мне налы вместо значений в некоторые строки.
Копирую таблицу с одной бд в другую. Столбец в сорс системы имеет все значения не равные null. Copy завершается без ошибок, но в Таргет системе 40% строк имеют null..
Что такое?
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730127
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaВсем привет!
Столкнулась уже дважды с ситуацией когда ораклевая команда copy пишет мне налы вместо значений в некоторые строки.
Копирую таблицу с одной бд в другую. Столбец в сорс системы имеет все значения не равные null. Copy завершается без ошибок, но в Таргет системе 40% строк имеют null..
Что такое?

http://www.bugtraq.ru/forum/faq/general/smart-questions.html] Как правильно задавать вопросы
1) В Oracle SQL нет команды copy, команда copy из sqlplus?
2) Версии баз и sqlplus
3) DDL tables на обеих системах (может там constrain/trigger определен, который режет записи)
4) Как определены tns соединения
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730128
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaимеет все значения не равные null.Проверено запросом where поле <> null?
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730136
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-EvgeniaMakarovaимеет все значения не равные null.Проверено запросом where поле <> null?
Как вариант - копируют по самой примитивной схеме
Код: plsql
1.
2.
3.
COPY FROM HR@HQ TO JOHN@WEST -
REPLACE WESTEMPLOYEES -
USING SELECT * FROM EMPLOYEES


при отличающейся структуре таблиц...
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730141
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous, да вы правы,именно так я и копирую. Но, если структура таблиц разная, то команда выдает ошибку и вообще не копирует. И байзевей- типы данных для конкретного проблемного столбца совпадают varchar2(12)
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730143
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin, версия оракла 10.2.0.4.0 - 64bit
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730144
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-, Вы знаете толк в унижениях) Но нет, конечно же IS NULL.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730146
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

тригерров нет и констрентов нет и вообще при второй попытке все хорошо скопировалось. Поэтому и фигею ,что в первый раз так криво скопировалсь и главное никакой ошибки не выдалось.
копирую вообще через SQL Developer а не через sql+, прям в нем пишу COPY...
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730151
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaandrey_anonymous, да вы правы,именно так я и копирую. Но, если структура таблиц разная, то команда выдает ошибку и вообще не копирует. И байзевей- типы данных для конкретного проблемного столбца совпадают varchar2(12)
Используйте полный синтаксис, с указанием списка атрибутов целевой таблицы и перечислением атрибутов исходной в select-list.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730155
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous, Вы хотите сказать что это какой-то known-issue для этой команды ? что если копируешь через звездочку, то данные некорректно копируются ?


У меня столбцов туева хуча, да еще они и добавляются иногда - вот решила вроде по-умному, звездочку писать))
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730159
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaвот решила вроде по-умному, звездочку писать))
Оно жеж позиционно сопоставляет, не по идентификаторам...
У target один порядок полей, у select - другой...
По общему количеству и типам (с учетом неявных преобразований) совпали - прошло.
В общем, классика: "вы этого хотели - вот вам".
...никаких проблем генерировать правильную команду из *_tab_columns.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730162
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,
Андрей, Ваш ответ звучит очень обоснованно. но я сравнила - структура таблиц точно одинаковая, порядок столбцов одинаковый и типы тоже. Первый раз я таблицы вообще и переносила этой же командой COPY но опцией CREATE . Таблицы идентичны.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730361
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EvgeniaMakarova,
Есть опыт использования COPY и BRIDGE в SQL Developer (или sqlcl). Помнится, на версиях 4.0, 4.1 тоже какие-то глюки были, в последних (17.*, 18.*) всё ок.

И ещё практика показала, что лучше пустую таблицу создать ручками, и наливать в неё данные с помощью опции APPEND. Иначе с полями типа LOB проблемы могут вылезти.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730367
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EvgeniaMakarovaкопирую вообще через SQL Developer а не через sql+, прям в нем пишу COPY...

Ещё совет, если данных много, то лучше копировать в консоли (sqlcl), так быстрее намного. И не забыть про:
Код: plsql
1.
2.
set arraysize 5000
set long 500 longchunksize 500
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730400
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rpovarov, фух, я не одна такая)) пользуюсь версией 17.2.0 девелопера.
Фикус в том, что 60% ЗНАЧЕНИЙ он скопировал правильно, то есть столбцы не уехали никуда, все копировалось в соответственно..лобов/бловов нет, все значения числа или строки или даты.

видимо глюки все же.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730413
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EvgeniaMakarova,
Мне в голову приходит проверить типы VARCHAR2 на кодировку (UTF8?) и BYTE/CHAR. Т.е. если там 12 знаков или байтов.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730421
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EvgeniaMakarova,
ну и для проверки попробуйте то же самое сделать командой BRIDGE http://dermotoneill.blogspot.com/2010/11/cross-database-bridge-statement.html

Там только адрес базы по другому немного задаётся - или просто именем из "Connections" (в SQL Developer), или в консоли через "jdbc:oracle:thin:scott/tiger@//myhost:1521/myservicename".
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730491
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rpovarov, nls_characterset = WE8ISO8859P1 .
относительно типа - без байта, просто размерность 12 и все.
...
Рейтинг: 0 / 0
Команда COPY вставляет иногда Null вместо корректного значения
    #39730591
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaкопирую вообще через SQL Developer а не через sql+, прям в нем пишу COPY...
Упс... А попробуйте-ка в sqlplus...
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Команда COPY вставляет иногда Null вместо корректного значения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]