Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

dbf и IB

14K
15 января 2006 года
YuriyLukin
2 / / 16.12.2005
Новая база IB. Создал таблицу (поля - id, integer, varchar). Теперь надо заполнить первоначальными данными, они в файле dbf.
Причем первые 2 строки 3 поля имеют значение: % и ~ соответственно, а третья строка уже русские АБВГДабвгд, как до них доходит, сразу выкидывает с ошибкой "arithmetic exception, numeric overflow, or string truncation cannot transliterate character between character sets" или "арифметическое исключение, числовое переполнение или усечение строки не могут транслитерировать символ между наборами символов". Пробовал ewr в лет берет, как до АбВ, вылетаю (Bilder6, IB5.6). Кодировка 1251 и PXW_CYRL, тригер на генератор до вставки. Заливаю через IBQuery, пробовал через IBUpdateSQL, но видно тяму не хватает, не просек до конца (да только начал осваивать и уже в дерьмо влез). Кстати как писать запрос с параметрами. У меня так "INSERT INTO TABLALALA (C_DLS, NAME_DLS) VALUES ("+NumOne+",'"+ NumTo+"')". NumOne и NumTo получаю при прохождении по строкам (цикл) dbf, снимаю значение полей и в табл. А может есть более прогрессивные методы??? Читал толстую литру, не нашел и пока не могу допередь. У кого может есть пара лишнего опыта, плз...Елы что пишите или ответьте срочно надо!!!!!!!
1
15 января 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by YuriyLukin
Новая база IB. Создал таблицу (поля - id, integer, varchar). Теперь надо заполнить первоначальными данными, они в файле dbf.
Причем первые 2 строки 3 поля имеют значение: % и ~ соответственно, а третья строка уже русские АБВГДабвгд, как до них доходит, сразу выкидывает с ошибкой "arithmetic exception, numeric overflow, or string truncation cannot transliterate character between character sets" или "арифметическое исключение, числовое переполнение или усечение строки не могут транслитерировать символ между наборами символов". Пробовал ewr в лет берет, как до АбВ, вылетаю (Bilder6, IB5.6). Кодировка 1251 и PXW_CYRL, тригер на генератор до вставки. Заливаю через IBQuery, пробовал через IBUpdateSQL, но видно тяму не хватает, не просек до конца (да только начал осваивать и уже в дерьмо влез). Кстати как писать запрос с параметрами. У меня так "INSERT INTO TABLALALA (C_DLS, NAME_DLS) VALUES ("+NumOne+",'"+ NumTo+"')". NumOne и NumTo получаю при прохождении по строкам (цикл) dbf, снимаю значение полей и в табл. А может есть более прогрессивные методы??? Читал толстую литру, не нашел и пока не могу допередь. У кого может есть пара лишнего опыта, плз...Елы что пишите или ответьте срочно надо!!!!!!!


1. Для начала - проверь кодировку поля в базе данных - подобная ошибка возникает в двух случаях - 1. Несовпадает кодировка. 2. Не совпадает размер поля и размер строки.
2. Используй специальные программы для перезаливки данных - тот же IBDataPump - и проще и наглядней если конечно задача заливки данных - не основная задача.
3. ИМХО версия IB слегка старовата - или обнови интербейз до актуальной версии или используй какой либо из бесплатных клонов.
4. Не нужно читать толстую литературу - надо взять "Мир Интербейз" желательно 2 или лучше 3 редакции - все вопросы подробно рассмотрены.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог