Главная » Просмотр файлов » Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений

Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений (1075560), страница 2

Файл №1075560 Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений (Брешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений) 2 страницаБрешенков А.В., Волкова Е.А., Галямова Е.В. - Разработка DB2 приложений (1075560) страница 22017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Однакопри внесении небольшого изменения в одну из программ, необходимовыполнить повторное связывание всего плана. Это также необходимосделать и в случае добавления индекса. Как вы знаете, в процессесвязывания DB2 обновляет свои оглавление и каталог. Обновление означаетнедопущение их обновления другими людьми (данные заблокированы инедоступны для них), так что выполнение большинства других действий вDB2 является практически невозможным.

Для того чтобы обойти этоограничение, были реализованы пакеты. Теперь необходимо только лишьвыполнить повторное связывание одного пакета, так что длительностьобновления очень мала, и воздействие на других пользователей почтиотсутствует. В настоящее время все еще используются планы свстроеннымипреобразованиеDBRM,вхотяпакеты.большинствоПланыкомпанийиспользуютсятолькомэйнфреймов. На других платформах они не используются.8выполняетвихсреде1.3.4 ЗапускПри выполнении приложения происходит загрузка загрузочного модуля восновную память. Когда встречается SQL-оператор, обращение к DB2(оператор CALL), заменивший SQL-оператор, передает его параметры вDB2.

Одним из параметров является маркер согласованности. Этот жемаркер (или отметка времени) присутствует и в пакете. Затем выполняетсяпросмотрпакетоввзаданномпланеDB2впоискахналичиясоответствующей отметки времени, после чего загружается и выполняетсяподходящий пакет. Таким образом, для запуска необходимо в качествепараметра задать имя плана.Последнее замечание: результатом SQL-выражения обычно являетсярезультирующеемножество(содержащеебольшеоднойстроки).Приложение может обрабатывать только одну запись или строку за раз. ВDB2 добавляется специальная конструкция, называемая курсором (cursor),который, в сущности, аналогичен указателю и позволяет во встроенномSQL-коде выбирать, обновлять или удалять по одной строке изрезультирующего множества за один раз.2.

Практическая частьВ этой лабораторной работе вы будете создавать приложение,обрабатывающее различные запросы к базе данных DB2, в том числе исетевые запросы. Последовательно выполняя этапы 1-4, вы познакомитесьсосновамиразработкиприложений,работающихсDB2,ипоследовательностью их запуска.2.1 DCLGENСначала вы будете использовать DCLGEN для создания SQLDECLARE и основной переменной структуры для таблиц и видов, которыевы только что создали, а также для master таблиц, которые вы будетекопировать, все из которых будут доступны в программах, которые вы9будете обновлять.

DCLGEN можно запустить из меню DB2I пункт 2.Изучите различные опции на экране. Используйте HELP, если этонеобходимо.Теперь используем DCLGEN для EMP таблицы.1. Заполните опции DCLGEN (см. рис.2), а затем нажмите клавишу "Enter"для запуска:TSOUsxx – ваш логин.2.Сделайте то же самое для таблицы DEPT.3. Сделайте то же самое для вида VPHONE.4.Сделайте то же самое для таблицы master DEPT, которая вам позжепонадобитсявпрограмме.НазваниетаблицыmasterDEPT-CF82.DEPT_MAST.5.И наконец, сделайте то же самое для CF82.EMP_MAST таблицы.Предложение:ИмянаборадляCF82.EMP_MASTструктуры:'TSOUsxx.CF82.INCLUDE (EMPMAST)'Примечание: При генерации двух выходных наборов для EMP таблицы иEMP master таблицы, вы увидите, что DCLGEN сгенерировал дваодинаковых набора основных переменных внутри структуры.

Ваша сборкане удастся (неоднозначные имена переменных), если вы не определитекаждое имя переменной при написании кода.6.Просмотрите содержимое сгенерированных частей (через ISPFBrowse)7.Вы можете экспериментировать с опциями 8 и 12, чтобы узнатьполуаемые результаты. Используйте:ACTION ...===> REPLACE.2.2 Структура программыИсследуйте следующие экраны,требующие обработки DB2.10онипоказываюттранзакцииПервый экран предлагает несколько функций (см. рис.3)Представим, что выбрана функция s, появится следующий экран (см. рис.4)Программа использует введенный номер и предоставит требуемуюинформацию, а затем вернется опять к первому экрану.Представим, что выбрана функция a, появится следующий экран (см.

рис.5)Программа использует введенные данные и добавит новые данные в DB2.Вам предоставляется готовый код программы на языках PL/I или COBOL.Можно использовать любой язык на выбор. Имя программы LABPGMCS(COBOL) или LABPGMPS (PL/I).Изучите код программы, используя ISPF Browse.Обратите внимание на использование операторов SQL, например, EXECSQL INCLUDE EMP END-EXEC.1. Найдите слова SQL COMMUNICATION AREA.2. ИзучитеSQL выражение добавляющее определение SQLCA впрограмму.3.

Найдите слова ERROR HANDLING.4. Изучите SQL для обработки ошибок5. Найдите слово INDICATOR.6. Изучите как объявляется переменная используемая DB2 дляобозначениязначенийNULLSELECTEDииспользуемаявпрограмме для установке значений NULL в выражениях INSERT иUPDATE.7. Найдите в программе блоки S, P, D, I, U, A. Определите выполняемыев них действия.2.3 Подготовка программы• Выберите Пункт 3 DB2I для подготовки программы.• Исследуйте опции на экране, и на всех последующих экранах,11используя HELP, если это необходимо.• На экране показанном на рисунке 6 - то, что вам нужно для запуска всехнеобходимых шагов для подготовки программы для запуска.• Сначала будем отображать все экраны DB2I относящиеся ко различнымшагам подготовки, так как мы используем эти функции в первый раз.• Затем Вы будете заменять большинство из YES на Display панели наNO.• pgmname во всем руководстве следует заменять на название источникапрограммы.• имена наборов данных могут варьироваться.Следующая панель, которую вы должны получить, это PRECOMPILEпанель:1.

Заполните панель как показано на рисунке 7.Следующая панель, которую вы получите, это BIND PACKAGE панель2. Заполните панель как показано на рисунке 8.3. Заполните BIND PACKAGE варианты по умолчанию, как показано нарисунке 9. Сделайте то же самое на следующем экране, на COMPILE,PRELINK, LINK и RUN панели (см. рис.10).4. Нажмите кнопку ENTER и проверьте вывод сообщений с цельюпроверки выполнения действия.5.

ИсследуйтеэлементывашегонабораданныхDBRM(TSOUsxx.CF82.DBRM).6. Ваша программа подготовки сгенерировала определенные наборыданных:TSOUsxx.TEMP.COBOL Модифицированный COBOL исходный кодTSOUsxx.TEMP.PLI Модифицированный PL / I исходный кодСвязь TSOUsxx.TEMP.DATA выход редактора связейСвязь TSOUsxx.TEMP.LINKLIST редактор связейTSOUsxx.TEMP.LIST листинг компилятора12Объект TSOUsxx.TEMP.OBJ объектный модульTSOUsxx.TEMP.PCLIST листинг препроцессораВаша программа не запустится, пока вы не выполните следующей частиэтого упражнения!Прежде, чем мы можем запустить программу, мы должны создать план слистингом пакета, который указывает на наш пакет.1. Составим план с таким же именем, что и программа, и с листингомпакета, выполнив следующее (см.

рис. 11) и нажав Enter:Давайте определим параметры BIND PLAN и составим план.Следующая панель, которую вы получите, это BIND PLAN панель:2. Заполните панель как показано на рисунке 12.Нужно оставить пустыми поля опций1 и 3. Иначе, вы создадитевнутрипотоковый DBRM.3. Заполните настройки BIND PLAN по умолчанию как показано нарисунке 13.4. Создайте листинг пакета.DB2I предлагает выбрать листинг пакета для плана (см. рис. 14).Единственный возможный выбор отображается на экране. Можно такжевыбрать использование collid .*, но тогда вам потребуется несколькодополнительных привилегий чтобы можно было выполнить это.Указывая TSOUsxx.pgmname в листинге пакета, Вы выбираете толькоодин пакет, который хранится в вашей коллекции.Закрыть панель нажатием PF клавиши F3.На данный момент, вы можете запускать программу!2.4 Запуск программыКод JCL для запуска вашей программы располагается в наборе данныхTSO: CF82.CNTL (RUNPGMC) или CF82.CNTL (RUNPGMP).13Текст скрипта RUNPGMC://TSOUxxxA JOB ,'DB2 RUN PROGRAM'//PH01S01 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)//*TEPLIB DD DSN=DB2.SDSNLOAD,DISP=SHR//CARDIN DD DSN=TSOUxxx.CF82.SOURCE(TRANSIN),DISP=SHR//REPORT DD SYSOUT=*//SYSOUT DD SYSOUT=*//SYSABOUT DD SYSOUT=*//SYSPRINT DD SYSOUT=*//SYSTSPRT DD SYSOUT=*//SYSTSIN DD *DSN SYSTEM(DSNC)RUN PROGRAM(pgmname) PLAN(pgmname) LIB(RUNLIB.LOAD)//*Обратите внимание на следующее:• Названием программы является IKJEFT01 – Запускается в TSO.• имя CARDIN DD -расположение входного файла TRANSIN.• имя REPORT DD - вывод - то же место, что и вывод задачи.• имя SYSTSIN DD определяет TSO команду запускающую загрузку, - вданном случае DSN, команда для запуска команд DB2 из TSO.

Кодподсистемы также необходимо указать.• В СУБД DB2 команда вызываемая здесь – RUN PROGRAM, с указаниемимени плана и имени программы(загрузочного модуля). Библиотеказагрузочного модуля также указана. Почему местонахождение плана ненужно указывать?1. Запустите этот JCL.2. Посмотрите на результаты в ISPF 3.8.3. Обратите внимание на код возврата.144.Кроме того, убедитесь в том, что вывод из программы (результатыдействий S, P, D, I, U, A из TRANSIN файла) согласован с выводомобразцом.Важное примечание: Любые изменения, вносимые в исходный код теперьдолжен быть приведены в действие повторением всех предыдущих шаговподготовки программы!3. Требования к отчетуОтчет о выполнении лабораторной работы должен содержать ответына вопросы, поставленные перед студентом в методических указаниях,скрин-шоты результатов компиляции программы, скрин-шоты результатоввыполнения разрабатываемой программы и ответы на контрольныевопросы.

Оформление отчета должно быть выполнено в соответствии стребованиями ГОСТов.4. Контрольные вопросыКак вставить код SQL в программу?Какие шаги необходимо проделать для подготовки программы DB2 кзапуску?Для чего необходима утилита DCLGEN?Чем отличается пакет от плана?5. Список литературы5.1Paolo Bruni, Mark Anders, «DB2 for z/OS: Data Sharing in a Nutshell»,International Business Machines Corporation, 2006.5.2Справочник «DB2 SQL Reference», International Business MachinesCorporation, 2003.5.3Mike Ebbers, Wayne O’Brien, Bill Ogden, «Introduction to the NewMainframe: z/OS Basics», IBM corp., 2005.15Содержание:Теоретическая часть ......................................................................................................... 31.1 Компиляция программ в z/OS ...................................................................................

31.2 Программирование приложений для DB2 ................................................................... 41.3 Подготовка программы в DB2: алгоритм .................................................................... 51.3.1 DCLGEN ................................................................................................................... 51.3.2 Прекомпиляция ........................................................................................................ 61.3.3 Связывание ............................................................................................................... 71.3.4 Запуск ........................................................................................................................

92. Практическая часть ............................................................................................................... 92.1 DCLGEN .......................................................................................................................... 92.2 Структура программы .................................................................................................. 102.3 Подготовка программы ................................................................................................ 112.4 Запуск программы .........................................................................................................

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее