Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенос русских слов из одной базы в другую. 
:(
    Опции темы
andrew2006
Дата 11.3.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне надо перенести данные таблицы Paradox в таблицу Intrbase.
Таблица Paradox содержит русские слова. При попытке программно вставить запись в Intrbase 
содержащую русские слова выдается ошибка "...exception EDBEngineError with message 'General SQL error.
arithmetic exception,numeric overflow, or string truncation
Cannot transliterate character between character sets'.
Я использую компонент TQuery, формирую запрос insert into t(field0) values(:field0)
и затем присваиваю Query->Params->ParamValues[ "field0" ] = val
Переменная val содержит русское слово.
Я попробовал вставить русский текст напрямую через Interactive SQL и все прошло нормально.
Язык таблицы Paradox : Cyrr 866, Intrbase CYRL.
Если кто встречался с такой проблемой подскажите пожалуйста.
PM MAIL   Вверх
Vyacheslav
Дата 12.3.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Цитата(andrew2006 @  11.3.2007,  12:10 Найти цитируемый пост)
Cyrr 866

У Вас в Paradox не просто "русские слова" , а  "русские слова" в DOS-кодировке.  А в  Interbase, как я подозреваю, стоит Windows - кодировка



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
andrew2006
Дата 12.3.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vyacheslav @ 12.3.2007,  11:23)
Цитата(andrew2006 @  11.3.2007,  12:10 Найти цитируемый пост)
Cyrr 866

У Вас в Paradox не просто "русские слова" , а  "русские слова" в DOS-кодировке.  А в  Interbase, как я подозреваю, стоит Windows - кодировка

Подскажите как это можно починить?
Просто для Paradox я поменять язык не могу - мне изначально дали такую базу.
Надо поменять язык для Intrbase?
PM MAIL   Вверх
Vyacheslav
Дата 12.3.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Возможно.
Ну лучше действовать по шагам.
Шаг 1. Проверьте, что Вы читаете из  Paradox.
val - это тип AnsiString?
если - да, то для  начала попробуйте вывести его на экран
Код

ShowMessage(val);

Если имеем "кракозябы", то у Вас что-то некорректно настроено в компонентах по работе с Paradox.

Добавлено @ 13:12 
Цитата(andrew2006 @  12.3.2007,  12:02 Найти цитируемый пост)
Надо поменять язык для Intrbase? 

Честно говоря, я никогда не работал не с Paradox, ни с Interbase.  Просто пытаюсь логично рассуждать. У Вас в используемом драйвере Paradox какой LANGDRIVER установлен: dBASE RUS cp866 или оставили как было ascii' ANSI?



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
andrew2006
Дата 15.3.2007, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vyacheslav @ 12.3.2007,  13:04)
Возможно.
Ну лучше действовать по шагам.
Шаг 1. Проверьте, что Вы читаете из  Paradox.
val - это тип AnsiString?
если - да, то для  начала попробуйте вывести его на экран
Код

ShowMessage(val);

Если имеем "кракозябы", то у Вас что-то некорректно настроено в компонентах по работе с Paradox.

Добавлено @ 13:12 
Цитата(andrew2006 @  12.3.2007,  12:02 Найти цитируемый пост)
Надо поменять язык для Intrbase? 

Честно говоря, я никогда не работал не с Paradox, ни с Interbase.  Просто пытаюсь логично рассуждать. У Вас в используемом драйвере Paradox какой LANGDRIVER установлен: dBASE RUS cp866 или оставили как было ascii' ANSI?

ShowMessage показывает нормальную строку.
Честно говоря базу Paradox не я делал. Мне надо именно сделать программную конвертацию данных из Paradox в Intrbase.
Я пытался найти CYRR 866 кодировку для Intrbase - когда создаю базу но там такой нет. Я создаю базу Intrbase через Interacive SQL.
PM MAIL   Вверх
Vyacheslav
Дата 16.3.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Цитата(andrew2006 @  15.3.2007,  21:24 Найти цитируемый пост)
Честно говоря базу Paradox не я делал

А причем тут делал- не делал? Я говорил он настройке драйвера на Вашей машине.
Но похоже с ним все у Вас в порядке. А там у Вас для Interbase нет чего то типа WIN1251 кодировки?

Добавлено @ 11:10 
Вот ответ на Ваш вопрос
http://www.interbase-world.com/ru/articles/1612.php


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
andrew2006
Дата 17.3.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vyacheslav @ 16.3.2007,  11:07)

Добавлено @ 11:10 
Вот ответ на Ваш вопрос
http://www.interbase-world.com/ru/articles/1612.php

Огромное спасибо!!!
Вы мне очень помогли!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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