Создание определений таблиц SQL из макетов записей COBOL не всегда
прямой процесс (хотя идти другим путем довольно просто).
Проблема в том, что макеты записей COBOL могут быть довольно сложными с различными
Наложения (переопределения Кобола) и денормализации (Происхождение Кобола). Это в значительной степени
победить большинство попыток автоматизировать процесс отображения сложной записи COBOL в
макет таблицы SQL.
Отображение типа данных также может быть проблемой. Файлы Net Express могут
быть создан для целевых сред ASCII или EBCDIC (IBM Mainframe). Если ваши файлы
закодированы в EBCDIC, вам, скорее всего, придется написать специальное программное обеспечение для преобразования
так как
Ваш файл содержит смешанные символьные / числовые данные (могут быть продукты сторонних производителей, которые могут автоматизировать или частично автоматизировать этот тип преобразования, но я не знаком с ними).
Попробуйте посмотреть один из .DAT
файлов с помощью простого текстового редактора (например, блокнота). Если
Вы можете прочитать данные персонажа, тогда они основаны на ASCII - и у вас есть шанс на бой
загрузки данных без особых усилий по конвертации.
Определения полей COBOL, которые PIC X
содержат данные символов и
переводить непосредственно в SQL CHAR
данные аналогичной длины (то есть PIC X(4)
становится CHAR(4)
).
Определения полей COBOL, определенные как BINARY
, переводятся в SQL INTEGER
. Будь целое число
Длинный или короткий зависит от количества цифр. Например, PIC S9(8) BINARY
указывает
двоичное целое число со знаком, состоящее из 8 цифр, которое занимало бы 4 байта. С другой стороны,
PIC S9(4) BINARY
имеет только 4 цифры, поэтому занимал бы 2 байта (короткое целое).
Другим распространенным определением поля COBOL является PACKED-DECIMAL
или COMP-3
. Эти поля
может переводить в SQL DECIMAL
типы данных.
SimoTime предоставляет очень хороший обзор для нескольких
Определения полей COBOL. Разработка перевода в соответствующий тип данных SQL
не должно быть сложно.
Примечание 1: Из фрагмента макета записи COBOL, представленного в вашем вопросе, я вижу предложение OCCURS
.
Из-за этого результирующая таблица не будет
даже быть в первой нормальной форме.
Этими таблицами может быть очень трудно управлять в среде баз данных.
Примечание 2: Используемые данные будут найдены в файлах .DAT
. Формат записи будет соответствовать определению записи COBOL. Файлы .IDX
содержат данные индексации, используемые MicroFocus при чтении / записи. Вы можете игнорировать их.