проблема с NUMERIC в PostgreSQL 9.1

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
zeroandr
Сообщения: 6
Зарегистрирован: Ср 18 янв 2012 12:50

проблема с NUMERIC в PostgreSQL 9.1

Сообщение zeroandr » Ср 18 янв 2012 13:18

При переносе данных с помощью компонент версии 4.1.3, возникла интересная ситуация с типом NUMERIC, данные переносились из таблицы в MS SQL 2000 в аналогичную таблицу в PostgreSQL 9.1 (из Table в Table), в MS SQL тип поля был money а в PostgreSQL numeric(19, 2), так вот после переноса данных в поле numeric(19, 2) оказались числа с большим количеством знаков, чем 2, запрос

Код: Выделить всё

select * from bill_pers_fiz_el where pers_sum = round(pers_sum, 2)
не показывал никаких строк, хотя должен был выгрузить все строки из таблицы, после того, как я сделал бекап-ресторе проблема пропала, тоесть получается, что при переносе в тип numeric(19, 2) попали числа с большим колством знаков чем 2, похоже, что где-то в драйвере для работы с PostgreSQL засела бага или это такая особенность компонентов?

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Сообщение Alexp » Чт 19 янв 2012 15:01

Добрый день,

Спасибо за информацию.
Мы воспроизвели проблему и будем разбираться в причине такого поведения. Как только у нас будут результаты мы сообщим Вам.
В качестве временного решения Вы можете для переноса данных использовать вторую версию протокола (по умолчанию используется третья)

UniConnection1.SpecificOptions.Values['ProtocolVersion']:= 'pv20';

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Сообщение Alexp » Пн 06 фев 2012 14:42

Добрый день,

Мы исправили данную проблему, исправления войдут в следующую версию UniDAC.

Закрыто