powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Непонятки с типами данных из разных баз
14 сообщений из 14, страница 1 из 1
Непонятки с типами данных из разных баз
    #35049794
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задавал этот вопрос на форуме оракла, но мне там не ответили. Может здесь у кого будут какие идеи?

В информиксе

Код: plaintext
1.
2.
create table 'informix'.a1 (
    replid INT
)

Значения
1
2
11
12
211
212

Запрос в оракле

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET SERVEROUTPUT ON
declare 
i long;
c number;
begin
execute immediate 'select max("replid") from a1@dbinformix' into i ;
dbms_output.put_line(i);
select count(*)into c from A1@dbinformix a
where a."replid"<= i;
dbms_output.put_line(c);
end;

dbinformix это дблинк из оракловой базы в информиксовую.

Результат на картинке
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35049798
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да... Забыл написать
Windows 2003 ES + Informix 9.40 TC7
Suse Sles 9 SP3-64 bit + Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35051372
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вопрос то, собственно, в чем ?
Или это не вопрос, а размышления?
А "непонятки с различными типами данных в разных СУБД" были всегда и способы были разные - или приводить в некие промежуточные типы (как BDE) или использовать только те типы, которые одинаковые в разных БД.
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35051518
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisА вопрос то, собственно, в чем ?
Или это не вопрос, а размышления?
А "непонятки с различными типами данных в разных СУБД" были всегда и способы были разные - или приводить в некие промежуточные типы (как BDE) или использовать только те типы, которые одинаковые в разных БД.

Извините. Забыл задать вопрос. Дело в том, что раньше стоял Informix 7.31 TC4 и в информиксе в указанном примере replid имел тип данных decimal (24), в оракле переменная i тоже имела тип decimal (24). Т.е. типы данных с виду были вроде бы одинаковыми. И запрос отрабатывал правильно и без ошибок . После того как информикс переехал на 9.40 TC7, то и возникла ошибка которую видно в указанной мною табличке. Суть вопроса в том, что почему при одинаковых (?) типах данных возникает ошибка в 9-ке и почему её не было в 7-ке?
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35052084
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в оракле есть тип decimal? Вы number имеете в виду?
Дибилинк в оракле через informix odbc ? Какой клиент информикса на сузе стоит?
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35053185
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисА в оракле есть тип decimal?
Вы number имеете в виду?

Есть и decimal, есть и number. Пробовал и то и другое. Эффект одинаковый.

Журавлев ДенисДибилинк в оракле через informix odbc? Какой клиент информикса на сузе стоит?

Да. Через odbc. Клиент "Currently installed version: 2.90.UC4"
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35054192
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дядя Жора Журавлев ДенисДибилинк в оракле через informix odbc? Какой клиент информикса на сузе стоит?
Да. Через odbc. Клиент "Currently installed version: 2.90.UC4"
Это клиент от сервера 9.40.хС7 или более поздний ?
А может лучше попробовать 64-разрядную версию клиента, если она есть...
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35057629
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisЭто клиент от сервера 9.40.хС7 или более поздний ?


Это самый свежий 32-битный клиент, что у информикса на сайте есть для данной конфигурации.

vasilis
А может лучше попробовать 64-разрядную версию клиента, если она есть...

Есть, но она не подходит. Пробовал. Не подходит, т.к. гетерогенный сервис одбс оракла, использует 32-разрядные дрова одбс. Почему так - ведомо токо индусам.
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35057701
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дядя ЖораДело в том, что раньше стоял Informix 7.31 TC4 и в информиксе в указанном примере replid имел тип данных decimal (24), в оракле переменная i тоже имела тип decimal (24). Т.е. типы данных с виду были вроде бы одинаковыми. И запрос отрабатывал правильно и без ошибок . После того как информикс переехал на 9.40 TC7, то и возникла ошибка которую видно в указанной мною табличке. Суть вопроса в том, что почему при одинаковых (?) типах данных возникает ошибка в 9-ке и почему её не было в 7-ке?
Может попробовать с другой стороны ? Я имею ввиду миграцию IDS.
Как давно она происходила и каким образом ? Если данные выгружались-загружались, возможно тип данных "поехал" на промежуточной стадии, возможно, стоит пересобрать статистику по базе и переоптимизировать процедуры, в которых использовались эти данные ?
Насколько я помню миграции с 7.3 на 9.3 то было несколько моментов, когда вроде бы простые и работающие вещи переставали работать на 9.3. Связано , в общем, это было не с багами новой версии, а с более жестким требованиям к стандартам (того SQL) или просто новыми трактовками старых.
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35058598
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisМожет попробовать с другой стороны ? Я имею ввиду миграцию IDS.
Как давно она происходила и каким образом ? Если данные выгружались-загружались, возможно тип данных "поехал" на промежуточной стадии, возможно, стоит пересобрать статистику по базе и переоптимизировать процедуры, в которых использовались эти данные ?


dbexport-dbimport-сбор статистики. Но к данному примеру это не имеет отношения, т.к. ради эксперимента я с нуля создавал таблички и там и там, забивал их тестовыми данными (как я написал вначале).

vasilisНасколько я помню миграции с 7.3 на 9.3 то было несколько моментов, когда вроде бы простые и работающие вещи переставали работать на 9.3. Связано , в общем, это было не с багами новой версии, а с более жестким требованиям к стандартам (того SQL) или просто новыми трактовками старых.

Вот это вполне похоже на правду, и я сам склоняюсь к этой мысли. Просто я думал может это где официально описано.
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35064002
GVF112GVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините. Забыл задать вопрос. Дело в том, что раньше стоял Informix 7.31 TC4 и в информиксе в указанном примере replid имел тип данных decimal (24), в оракле переменная i тоже имела тип decimal (24). Т.е. типы данных с виду были вроде бы одинаковыми. И запрос отрабатывал правильно и без ошибок . После того как информикс переехал на 9.40 TC7, то и возникла ошибка которую видно в указанной мною табличке. Суть вопроса в том, что почему при одинаковых (?) типах данных возникает ошибка в 9-ке и почему её не было в 7-ке?

На мой взгляд, мы имеем дело в с клиентской частью ORACLE под Informix, которая не совместима
с новой версией informix 9.40.

Можно выполнить трассировку SQL-запроса на сервере IDS 7.31 и IDS 9.40.
Далее, сравнить трассировку в той ее части где сервер возвращает данные клиенту (тип данных, собственно данные и т.д.).

Если тип данных будет одинаковый для IDS 7.31 и IDS 9.40 в журнале трассировки сервера,
тогда все дело в интерпретации на клиентской стороне. Нужно будет искать описание совместимости клиентской части ORACLE для Informix или FIX для клиента ORACLE.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35080573
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дядя Жора
Да. Через odbc. Клиент "Currently installed version: 2.90.UC4"настройки листенера какие?
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35080773
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис
настройки листенера какие?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = test)
      (ORACLE_HOME = /u01/app/oracle/product/ 10 . 2 . 0 /db_1)
    )

    (SID_DESC =
      (SID_NAME = dbinformix)
      (ORACLE_HOME = /u01/app/oracle/product/ 10 . 2 . 0 /db_1)
      (PROGRAM = hsodbc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = test1)(PORT =  1521 ))
    )
  )

Только если уж проверять настройки то тогда надо проверять ещё много чего. Например tnsnames.ora .../hs/admin/initdbinformix.ora odbc.ini odbcinst.ini... Если бы тут было чего напартачено, то вообще бы не работало.
...
Рейтинг: 0 / 0
Непонятки с типами данных из разных баз
    #35080864
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дядя Жора.../hs/admin/initdbinformix.ora odbc.ini odbcinst.ini... Если бы тут было чего напартачено, то вообще бы не работало.Я это и хотел, листенер тут вообще ни при чем (я затупил).
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Непонятки с типами данных из разных баз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]