Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка SQL Loader в Oracle 7.3, Как можно импортировать данные. 
:(
    Опции темы
Kamoliddin
Дата 9.10.2006, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



У меня такой вопрос. 
Два компа, в одной Оракл 8 а в другом Оракл 7.3.
Я хочу импортировать данные с помощью SQL*Loader. В 8 версии все ОК, но 7.3 она сообщает об ошибке.
"Unable to locate character set handle for character set ID <0>".
Что это значит и как можно избавиться от него.
PM MAIL   Вверх
Paradox
Дата 10.10.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



значит это примерно то, что клиент лоадера не понимает что за чарсет вы ему подсовываете
возможно несовпадают параметры NLS_LANG на клиенте и на сервере
кроме того, может быть так что вресия клиента старее версии сервера (но это вряди ваш случай)
и еще много чего может быть
 сравните для начала NLS_LANG на компе с 8-кой, с 7.3 и у вас локально







--------------------
---
PM MAIL WWW   Вверх
Kamoliddin
Дата 11.10.2006, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



NLS_LANG - не понял.   smile 
Это один из установленных параметров databese ?

У меня такой вариант! 

в сервере (оракл 7.3) : nls_language - American, nls_characterset - CL8MSWIN1251

в клиенте (оракл 8) : nls_language - American, nls_nchar_characterset - CL8MSWIN1251
Они одинаковы... smile.
Нумерик и дата импортируется отлично но когда варчар выводиться ошибка.
Может в управляемой файле что не так..! 
Если не трудно дайте мне пример.....у меня  3 поля (нумерик, дата и строка).
За ранее спасибо!


PM MAIL   Вверх
Paradox
Дата 11.10.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



Цитата

Может в управляемой файле что не так..! 

может быть...файл в студию, а еще бы скрипт таблицы куда качаете и пример того, что качаете

NLS_LANG на виндах параметр в реесте, лежит примерно тут
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0



--------------------
---
PM MAIL WWW   Вверх
Kamoliddin
Дата 11.10.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Код

LOAD DATA
CHARACTERSET CL8MSWIN1251
INFILE *
Append
INTO TABLE TAX_ADMIN.T
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
( A, B, c DATE 'DD.MM.RRRR',D)
BEGINDATA
100,13,10.02.2006,'dfg'
101,33,10.02.2006,'dfg'
34,34,10.02.2006,'dfg'
34,34,10.02.2006,'dfg'
102,79,10.02.2006,"кмл"


Вот управляемый код!
PM MAIL   Вверх
Paradox
Дата 11.10.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



попробуйте стоку CHARACTERSET CL8MSWIN1251 вообще убрать
 


--------------------
---
PM MAIL WWW   Вверх
Kamoliddin
Дата 11.10.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Цитата

попробуйте стоку CHARACTERSET CL8MSWIN1251 вообще убрать

Попробовал и так..не помогает.!

Paradox - я зделал nls_lang = AMERICAN_AMERICA.CL8MSWIN1251 одинаковыми в реестре и на сервере и на клиенте.
Блин всеравно..ругается..!
Просто не знаю чё делать... smile  smile  smile 


PM MAIL   Вверх
Paradox
Дата 11.10.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



Kamoliddin
плохи ваши дела smile

покопавшись немного в этой проблеме могу вот что срезюмировать.
Ошибка связана с несовместимостью OCI для версий 8 и 7, так что надо использовать Loader той же версии что база. Как я и сказал в начале у вас несовместим клиент и сервер БД, решением может служить - поставить клиента от 7-ки. 
Два Оракловых клиента впринципе уживаются на одной машине, но если будете устанавливать -  аккуратнее с директориями и Oracle Home'ами.




--------------------
---
PM MAIL WWW   Вверх
Kamoliddin
Дата 11.10.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Спасибо...попробую! 
Хотел об одном спросить..ест ли другой способ импортировать данные с текстового файла...кроме SQL LOADER а!
                    
                RESPECT PARADOX >> smile  smile  smile  smile 
PM MAIL   Вверх
jsa
Дата 11.10.2006, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 1
Всего: 20



можно, в оракле можно создать объект наподобие таблицы, только данные будут браться напрямую из текстового файла (подробнее нескажу надо рыться в доках), 
кроме всего есть еще изращенские способы загрузки, а насчет несовместимости 8 и 7 вериться с трудом, можеть быть просто кодировка самого файла, отличная от указанной, насколько я знаю 8-я и 7-я версии, очень даже совместимы


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Paradox
Дата 12.10.2006, 05:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



Цитата

ест ли другой способ импортировать данные с текстового файла...кроме SQL LOADER а!

есть, называется external table, выглядит примерно так (подробнее см. документацию)
Код

CREATE TABLE table1
(
ID NUMBER,
Name varchar(50), 
BirthDate DATE
)
ORGANIZATION external 
(
TYPE oracle_loader
DEFAULT DIRECTORY dir_externaltables
ACCESS PARAMETERS 
(FIELDS TERMINATED BY ';')
location ('data.txt')
)
REJECT LIMIT UNLIMITED;


Цитата

насчет несовместимости 8 и 7 вериться с трудом

несовместимости в каком смысле? Библиотека OCI (Oracle Call Interface) не совместима. Соответвтенно и клиентские тулзы вроде лоадера тоже.




--------------------
---
PM MAIL WWW   Вверх
jsa
Дата 12.10.2006, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 1
Всего: 20



Цитата

несовместимости в каком смысле? Библиотека OCI (Oracle Call Interface) не совместима. Соответвтенно и клиентские тулзы вроде лоадера тоже.

да, это может быть и так, но то что один файл данных лоадера нельзя загрузить разными версиями лоадера - не верю


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Paradox
Дата 12.10.2006, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



Цитата

видишь суслика ? нет ? вот и я тоже ...а он есть

от того верите вы или нет факт не перестает быть фактом smile
Почитайте про OCI (что это такое, где и как используется) и про то как работает SQL*Loader - вопросы отпадут сами собой.  
вот и ссылка за компанию  smile 

Это сообщение отредактировал(а) Paradox - 12.10.2006, 08:59


--------------------
---
PM MAIL WWW   Вверх
Kamoliddin
Дата 13.10.2006, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Цитата

есть, называется external table, выглядит примерно так (подробнее см. документацию)


этот способ..... расчитан на уникальные поля...? Я ранше использовал компонент ORA_LOADER но этот компонет не смотрел на уникальные поля..и сообшала ошибку..! 
Ваш способ отличаеться от моего?
PM MAIL   Вверх
Paradox
Дата 13.10.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



не понял вопрос
отличается ли загрузка данных через лоадер и использование external table ?
конечно отличается...


--------------------
---
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0859 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.