Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Chacanov
Новичок
Сообщения: 8
Зарегистрирован: 07 Июнь 2011, 11:40

Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Сообщение Chacanov »

Используется Clarion 6 Windows.
Приложение работает с файлами TPS. Требуется перевести под DB2, но чтобы структура в DCT не была помененна
и могли читаться таблицы DB2.
Вопрос по описанию поля типа GROUP.
В структуре TPS есть поля типа GROUP.
Как для них должны быть определены поля в структуре таблицы Db2.

Пример :
В TPS есть поля типа
DATA_KOM_GROUP (типа group)
DATA_KOM_DATE (типа date)
DATA_KOM_TIME (типа time)
END

Так вот это описание соответствует типу поля - DATA_KOM TIMESTAMP .

А как быть с другими наборами GROUP?
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Сообщение kreator »

Смысл TimeStamp в восьми байтах, в Кларионе нет такого типа, поэтому используем группу, причём с Over. А какие у Вас ещё группы? Я предполагаю, т.к. в SQL нет такого, то описать как раздельные поля. А в словаре оставить как есть.
We are hard at work… for you. :)
Chacanov
Новичок
Сообщения: 8
Зарегистрирован: 07 Июнь 2011, 11:40

Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Сообщение Chacanov »

Например такая группа в TPS
GPrava (GROUP, размерность 5)
PrPod1 (byte)
PrPod2 (byte)
PrPod3 (byte)
PrPod4 (byte)
PrPod5 (byte)
END

Или другой вариант

GD (GROUP, размерность 258)
X1 (массив из 31 по 1 байту)
X2 (массив из 31 long)
X3 (массив из 31 short)
X4 (массив из 31 byte)
P1 (byte)
P2 (long)
T1 (byte)
T2 (long)
END
Вроде все поля в GROUP дают общую длину - 31 + 31*4 + 31*2 + 31 + 1 + 4 +1 + 4 = 258
Chacanov
Новичок
Сообщения: 8
Зарегистрирован: 07 Июнь 2011, 11:40

Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Сообщение Chacanov »

Попробовал создать таблицу в DB2.
Таблица не читается, но когда вывел все поля из группы, в саму группу удалил
GPrava (GROUP, размерность 5)
END

тогда таблица стала в DCT открываться.
С одиночными полями можно обойтись, а как быть с описанием массивов?
Можно конечно элементы массивов определить как отдельные поля,
но тогда будет больше хлопот по изменениям в исходниках.
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Сообщение Алексей- Софт-Центр »

Добрый день.
Массивы или в поля или в отдельный файл.
Алексей
kreator
✯ Ветеран ✯
Сообщения: 5160
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Соответствие полей файла TPS, описанных в DCT, полям таблицы DB2

Сообщение kreator »

Плясать надо от SQL. Если сервак не поддерживает какие-то типы, то вот так. И ещё поэкспериментировать с OVER. А использование массивов в базах данных, ИМХО, вредно. Особенно, в SQL. Они (сервера) позволяют работать с массивами, но у Клариона, боюсь, не получится. Надо иметь ещё ввиду, что есть прослойка в виде ODBC-драйвера, которая накладывает ограничения.
We are hard at work… for you. :)
Ответить