Можно экспортировать базу данных COBOL VISION в разделенный запятыми файл .csv? - PullRequest
0 голосов
/ 30 августа 2011

У нас есть система, основанная на AcuCobol и файлах vision.

Нам нужно выгрузить все файлы данных в файлы на основе txt для импорта на сервер sql.

Мы используем vutil для выгрузки данных прямо сейчас, но он создает файл фиксированной ширины, и мы бы хотели, чтобы это был какой-то файл с разделителями. Команда, которую мы сейчас используем, такова:

vutil -unload -t sourcefile destinationfile

Теперь кто-нибудь знает об этом, и если да, то какая утилита для этого подойдет лучше всего?

Ответы [ 2 ]

1 голос
/ 31 августа 2011

что я сделаю, чтобы выполнить работу, это:

Выгрузите вашу таблицу с JCL в файл.Используйте этот файл в пакете с тетрадью, соответствующей описанию таблицы: (например: если ваша таблица имеет 3 столбца [ID], [NAME] и [ADDRESS], затем создайте копию CC-1 с:

 O1 CC-1 
    05 ID   PIC X (16).
    05 NAME PIC X (35).
    05 ADDRESS PIC X (35).

Для каждой строки переместите строку в копию CC-1.

Создайте вторую копию CC-2

  O1 CC-2 
    05 ID   PIC X (16).
    05 FILLER PIC X VALUE ';'.
    05 NAME PIC X (35).
    05 FILLER PIC X VALUE ';'.
    05 ADDRESS PIC X (35).
    05 FILLER PIC X VALUE ';'.

Выполните перемещение, соответствующее CC-1, вCC-2 Запишите в выходной файл. Это для каждой строки. Вы получите в выходной файл CSV всех ваших данных.

Вы можете повторно использовать пакет и JCL, вам просто нужно изменить размер записейи описания копии в соответствии с таблицей, которую вы выгружаете.

Бесплатно и просто.:)

1 голос
/ 30 августа 2011

Google - ваш друг ... Я сделал быстрый поиск и нашел NextForm , который утверждает, что конвертирует Vision в CSV (и другие форматы).

Из "мелкого шрифта"«Похоже, вы можете загрузить пробную копию, но для получения лицензионной версии придется потратить около 400 долларов США (без случайных записей).

У меня нет абсолютно никакого опыта работы с этим продуктом, поэтому я не могу сказать,Вы, если он действительно выполняет свою работу или нет.

Редактировать

Иногда более продуктивно работать, чем бороться с устаревшей системой.

Вы смотрели на AcuODBC ?Это позволяет программам Windows читать / импортировать файлы Vision.Вы можете потенциально использовать это для доступа к файлам Vision из любого приложения с поддержкой Windows ODBC.Я полагаю, что вам может понадобиться скомпилировать словарь данных, чтобы сделать эту работу, но он может обеспечить мост между тем, где вы находитесь и где вы хотите быть.

Другой подход может заключаться в написании ваших собственных программ дампа в AcuCobol.,Прочитайте запись, отформатируйте и запишите ее.Написание программы Cobol такой сложности не должно быть слишком сложной задачей, если файлы не имеют сложной структуры (например, несколько типов записей / макетов в одном файле или повторяющиеся поля в одной записи).

Ваша задача будет значительно более сложной, если один файл Vision необходимо постобработать в несколько таблиц SQL Server.К сожалению, сложные преобразования довольно распространены в устаревших системах Cobol из-за их склонности использовать богатые / сложные / денормализованные файловые структуры (в отличие от SQL, который лучше всего работает с нормализованными табличными данными).

Если файлы Vision являются более сложными,одна таблица SQL Server, тогда, возможно, вы могли бы рассмотреть возможность использования AcuXML Interface для выгрузки файлов в XML, а затем использовать процессор XSLT для создания CSV или любого другого необходимого вам формата.Это позволит вам работать с довольно сложными структурами записей Cobol.Опять же, этот подход означает написание некоторых довольно простых программ для работы со шрифтами AcuCOBOL.

Судя по вашим комментариям к моему первоначальному сообщению, вы не стойкий программист Cobol.Может быть, было бы неплохо объединиться с кем-то в вашем магазине, который имеет практические знания языка и окружающей среды, прежде чем продвигать это дальше.У меня такое ощущение, что эта задача будет немного сложнее, чем «сброс и загрузка».

...