Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Real округляется до Integer, Oracle через BDE 
:(
    Опции темы
Dimich
Дата 29.11.2004, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Суть проблемы в следующем: в БД есть таблица:
SQL> desc AAA
Name Null? Type
------------------------------- -------- ----
AAA_ID NOT NULL NUMBER(2)
AAA_VAL NOT NULL NUMBER(6,2)

со значениями:
AAA_ID AAA_VAL
------------ ------------
1 10.44
2 4.2
3 3.81
4 0
делаю select:
Код

select AAA_VAL from AAA where AAA_ID=1;

получаю результат = 10

делаю select:
Код

select AAA_VAL*1 from AAA where AAA_ID=1;

получаю результат = 10.44

Он что, издевается???

P.S. Используется драйвер Microsoft ODBC for Oracle
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Dayana
Дата 29.11.2004, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

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



где ты делаешь этот select, в Delphi в TQuery? может поле описано неправильно?
PM MAIL ICQ   Вверх
Dimich
Дата 30.11.2004, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Поле описано верно - свидетельство тому то, что я ничего не трогаю в TQuery кроме текста запроса.
select AAA_VAL as AVAL from AAA where AAA_ID=1;
и
select AAA_VAL*1 as AVAL from AAA where AAA_ID=1;
с моей точки зрения идентичны.
Более детально изучив проблему удалось установить, что если поле выводится из таблицы "как есть", то получаем вышеописанный трабл. Если только производятся какие-нибудь вычисления над этим полем в селекте, то все нормально. Можно конечно все дробные значения умножать на 1, но это же не дело?

Всю жизнь использовал ODAC и ничего подобного небыло. А тут передали проект, причем достаточно грандиозный. Можно конечно все TQuery заменить на TOraQuery, но уж больно там много всего да и корни проблемы интересны....

P.S. Чтобы Вас не запутать - скажу, что такая трабла не только в том, переданном мне, проекте (можно подумать что там что-то заглючилось). Вовсе нет - такая бяка и в новом проекте получается.
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Dimich
Дата 30.11.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Короче проявилась ситуация: во всем виновата ODBC: У меня стоял Microsoft ODBC for Oracle, поставил Oracle ODBC driver - вышеописанная проблема исчезла, зато появилась новая - с кодировками и жуткой инсталляцией.
Результат моих действий: я решил забить на BDE + ODBC и перевести все на ODAC, а то у меня получится, что на всех компах нужно настраивать тяжелый ораклевый клиент, ODBC, результат будет зависеть от его настроек и т.д. - короче три вагона гемора.

Спасибо всем за помощь! Вы - мое вдохновение!
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Dayana
Дата 2.12.2004, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

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



Dimich, просто к слову, т.к. ты решил отказаться от BDE... С ADO с драйвером Oracle ODBC driver есть проблемы, а вот с Microsoft ODBC for Oracle проблем нет... Кстати, а в самом BDE не смотрел настройки? хотя я ничего не нашла... у меня все работает корректно..
PM MAIL ICQ   Вверх
Dimich
Дата 2.12.2004, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я нашел одну версию драйвера ODBC "Microsoft ODBC for Oracle", какую уже не помню (вытаскивал ее из дистрибутива Oracle 9i), так там этих проблем небыло. Но я это дело уже забросил окончательно и все перевел на ODAC - ему не надо таких драйверов, ни клиентов. Просто в нашей организации более 100 компов, где надо иначе следить за ODBC, 11 удаленных филиалов, в каждом около 10 рабочих мест, где нет программистов, а девушки, работающие там не могут файл отличить от ZIP дисковода. Поэтому мне такой гемор не нужен....... smile
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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