Руководства, Инструкции, Бланки

пошаговая инструкция Ibexpert img-1

пошаговая инструкция Ibexpert

Категория: Инструкции

Описание

IBEScript – легкость работы с Firebird через скрипт

IBEScript – легкость работы с Firebird через скрипт

IBEScript -прекрасная утилита от компании HK-Software. Эта же компания написала легендарный IBExpert – инструмент для администрирования и разработки баз данных Firebird и Interbase.
И так, что такое IBEScript? Эта приложение является значительно расширенным аналогом isql.exe (консольная утилиты предоставляющей доступ через SQL до баз Firebird).
Кроме дублирования функционала isql-утилиты, IBEScript расширен специальными командами под названием IBEBlock. Количество команд переваливает за 3 сотни. Понятно, что такое количество новых функций делает из утилиты предназначенную в первую очередь для написания хранимых процедур и простых SQL запросов – мощный инструмент на многие случаи жизни.
Но в основном IBEScript используется для написания скриптов которые работают с базами Firebird. И очень жалко что не для всех баз данных такой инструмент сущесвует.
Для тех, кто будет читать дальше, поясняю что все здесь написано рассчитано на людей знакома с хранимыми процедурами Firebird. Приступим.

Скрипт начинается как хранимая процедура в Firebird

Для того что бы его запустить создаем bat-файл следующего содержания:

script.ibb – это путь до скрипта.
Далее идут параметры подключения (-Dc:db.fbd -Usysdba –Pmasterkey). Их можно не указывать если вы подключайтесь к базе в самом скрипите или например берете эти данные из ini файла (А это IBEBlock позволяет!)

И так вы можете теперь позапускать скрипт. Он правда ничего не делает ??
Рассмотрим некоторые примеры. Качаем файл .

Script1.ibb
Показывает возможность логирования действий скрипта. Логирование всегда полезно)

Тут используются следующие ibeblock функции:

  • ibec_GetRunDir – возвращает каталог из которого запущен IBScript или IBExprt выполняющий текущий скрипт.
  • ibec_FileExists – проверка наличия файла
  • ibec_fs_OpenFile – открытие файла или создаем его
  • ibec_fs_Seek – Перейти к определенной позиции в файле. В нашем случае в конец файла.
  • ibec_fs_WriteLn – пишем в файл строку с переходом на следующую
  • ibec_Now – текущее время и дата

script2.ibb
Предположим вам понадобилось перенести часть данных из одной базы в другую. Данный скрипт показывает, как организовать подключение в данном случае.
Я уже упомянул выше, что при запуске скрипта можно не упоминать параметры подключения к базе. IBEScript позволяет передавать переменные из командной строки в скрипт. Это дествительно делает скрипты гибче.

Запустите base_create.cmd для создания тестовых баз: c:base_new.fdb и c:base_old.fdb
base_new – пустая, а base_old – с данными.

Теперь посмотрим, как запускается скрипт который работает с этими базами:

Для того что бы получить эти данные в скрипите пишем:

Затем создаем строку подключения к базе и само подключение:

Теперь для того что бы обратится к одной или к другой базе нам достаточно написать предварительно ibec_UseConnection(ИмяСоединеия).
Скрипт полностью.

Команда commit подтверждает изменения. Если ее не поставить транзакции не будут подтверждены.

Навигация по записям IBEScript – легкость работы с Firebird через скрипт. 14 комментариев

Точности ради, IBEScript не копирует функциональность isql.

Он дает возможность выполнения скрипта IBExpert без наличия самого IBExpert.

А так, IBEScript кое что не умеет, по сравнению с isql — например в нем нет интерактивного режима. Понятно, что оно там и не надо — есть же сам IBE.

Сам юзаю IBEScript для накатывания патчей на базы в филиалах фирмы. Пишу скрипт, к нему инструкцию по применению — и местные админы-эникейщики справляются с этим делом.

Насчет интерактивного режима в isql — правы.
Я им не пользовался поэтому упустил из виду.

Люди добрые. Подскажите пожалуйста, Мне не нужно написанный скрипт запускать при промощи IBEScript, а нужно запустить с тригера в IBExpert. есть ли такая возможность, если да то какой командой?!

Скрипт использует функцию отсылки email ibec_smtp_SendMail()

Юр, не уверен что идея отправки почты через базу это хорошая идея)
Ф-ции ibec_* внедрить в PSQL не удастся. Вам надо смотреть в сторону udf.

Спасибо… Я уже понял что это практически не реально, просто скрипт делает анализ базы и когда появляется новая запись в таблице должен отправить почту, получается необходимо для решения такой вроде простой задачи необходимо писать внешнее приложение которое к примеру раз в минуту будет запускать скрипт… А для чего же еще тогда нужна функция ibec_smtp_SendMail() немогу понять…. (((

IBExpert — и IBEScript -это и есть внешнее приложение.
Конструкции ibec_* — это не конструкции сервера, это внутренние конструкции IBExpert/IBEScript, к собственно серверу они не имеют никакого отношения.

По поводу новая запись — новая почта — путь тупиковый. Что если вставили 10000 записей? Получится 10000 писем, а кто их будет читать?

Кстати, «скрипт» — сервером тоже не выполняется. Сервер может выполнять либо отдельные команды либо команды в составе Stored Procedure, или сейчас есть еще возможность выполнить Execure Block что по сути так же процедура только на сервере не хранится.

Но те скрипты которые выполняет IBExpert — это другие скрипты, их выполняет не сервер. IBExpert разбирает скрипт по командам и те что предназначены к выполнению сервером — посылает на сервер. А те команды которые для самого IBExpert — выполняет сам. ibec_* — это как раз такие команды.

Вообще говоря если стоит именно такая задача — поймать событие — то надо наверное глянуть в сторону внешнего приложения получающего факт события по event. Event — механизм сервера позволяющий передать клиенту сообщение о наступлении некого события, которое можно инициировать в триггере.

А вообще, задача-то как выглядит, исходно?

Спасибо за мысль…
Задача состоит в том что: есть хранимая процедура которая определяет новые события в базе, и при выполнении нестандартных изменений значений, делает вставку в определенную таблицу этих же данных, после чего эти данные нужно выслать смс-кой на мобильный при помощи email (есть такая функция у мобильного оператора). Для чего я написал скрипт используя функцию ibec_smtp_SendMail(). Теперь я его запускаю раз в минуту и он определяет если новые данные в таблице для отсылки смс, и если они там есть он их отсылает…
Вообщем и все.
Задача в принципе реализована. Но я считаю что не совсем правильно запускать раз в минуту скрипт. Идея с Event наверное самая правильная. Буду пробывать реализовать это при помощи событий…

как выполнить скрипт отключения триггера в IBEBlock?

К сожалению под рукой сейчас нет Firebird
Но я бы порекомендовал выполнить эти операции сначала на копии базы через IBExpert.
Он показывает все SQL операции которые выполняет.
Можете записать их в файлик и выполнить.

А как дописать в этот скрипт условие: UPDATE dbNew.partner set name = dbOld.partner.name WHERE dbNew.partner.id = dbOld.partner.id.

Очень надо! А времени нет, чтоб книжки перечитывать..

Как проверить существует ли уже столбец в таблице?

ibec_ds_Post не работает вообще никак… Только можно считать в датасет а скинуть обратно в таблицу ни ни ibec_ds_Edit позволяет править активный датасет можно добавить или удалить запись, но POST ни фига не работает…

Добавить комментарий Отменить ответ

Другие статьи

2_Работа в IBExpert

/ База данных / 2_Работа в IBExpert

В качестве инструмента администрирования мы будем использовать среду IBExpert. Данная программа является одним из лучших средств администрирования СУБД и является совершенно бесплатной для любого применения жителями территории бывшего USSR. Установка программы стандартная, для успешной установки достаточно согласиться со всеми этапами работы мастера установки.

При первом запуске приложения, будет задан вопрос о выборе типа интерфейса, однодокументный (SDI SingleDocumentInterface) или многодокументный (MDI MultiDocumentInterface). Предпочтительней выбирать MDI отвечая « No ».

Язык интерфейса по умолчанию – английский. Но его можно изменить выбрав пункт меню «Options\environment options…» и в диалоговом окне в списке доступных языков интерфейса (interface language) выбрать «Russian».

Рис. 6 Интерфейс программы IBExpert.

Создание базы данных

После настройки приложения, нужно создать пустую базу данных. Для этого в главном меню выбираем пункт «База данных\Создать базу…» в

результате появляется диалоговое окно « создание базы данных » (Рис.7). В

соответствующие поля необходимо внести параметры сервера и параметры базы данных. В поле « файл БД » в качестве имени файла нужно использовать номер своего студенческого, и полное имя файла в этом случае может быть таким: « d:\db\u07d31001b.fdb ». После нажатия кнопки «ОК» на сервере в соответствующей папке будет создан файл вашей базы данных. Эта база данных пустая, то есть не содержит никаких полезных для вас данных, но в ней уже есть множество системных таблиц, в которых хранится различная служебная информация.

Рис. 7 Создание новой БД в IBExpert.

После того как новая база данных создана, к ней необходимо подключиться, для этого нужно провести процедуру регистрации.

Зарегистрировать можно, как только что созданную БД, так и уже существующую. В диалоговом окне создания новой БД есть галочка

«зарегистрировать после создания», если она установлена то после ее создания автоматически будет запущено диалоговое окно регистрации БД, в

котором часть необходимых для заполнения полей уже будут заполнены, и

необходимо будет указать только описание базы данных и версию СУБД.

Проверку корректности введенных настроек и доступность сервера,

можно выполнить используя кнопку «проверка коннекта». В случае отсутствия ошибок в появившемся окне будет сообщение вида:

Рис. 8 Вид сообщения об удачном подключении к БД.

Поверка настроек подключения

Регистрация базы данных

Рис. 9 Регистрация БД в IBExpert.

Зарегистрированная база еще не содержит таблиц, задача состоит в том, что бы реализовать концептуальную модель предметной области в среде конкретной СУБД. Создание модели сводится, в основном, к созданию таблиц и связей между ними. Эту работу можно выполнять вручную:

создавая все необходимые элементы базы. Но такой подход не является эффективным. В среде DBDesignerFork имеется возможность экспортировать созданную модель в скрипт создания структуры базы, для нескольких,

поддерживаемых СУБД. Таким образом необходимо выполнить созданный скрипт для вновь созданной базы данных. Для этого в IBExpert имеется специальный инструмент: «редактор скриптов». Запускается он через главное меню « инструменты\редактор скрипров » или через сочетание клавиш

Сообщения об ошибках

Рис. 10 Редактор скриптов в IBExpert.

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

какое соединение должно для этого использоваться

После запуска появится сообщение о результатах его выполнения. Если ошибок не обнаружено, то выведется соответствующее сообщение с указанием времени выполнения скрипта. Если же в процессе выполнения были обнаружены ошибки, то выведется сообщение о неудачном выполнении и в области сообщений по каждой ошибке будет выведены соответствующие сведения. Типичные ошибки перечислены в таблице 4.

В случае, если скрипт был выполнен без ошибок, то получится база данных в полном со ответствии с построенной концепт уальной моделью. В

случае обнаружения ошибок необходимо внест и исправления в концептуальную модель средствами DBDesignerFork, за ново сформировать скрипт, и выполнить его, предварительно удалив ранее созданную структуру таблиц. Для удалени я можно использовать функцию «База данных\Recreate database».

П ри использовании функции

метаданные полность ю удаляются.

В случае необходимость изменения в структуру

базы данных можно

используя функционал IBExpert

по добавлению и

удалению соответств ующих объектов базы данных.

Редактировани е объектов БД

База данных сос тоит из нескольких типов объектов, каждый из которых имеет свое предназначение и имеет свои особенности работы, свой набор свойств и инструментарий. В нашей работе мы не буд ем использовать все типы объектов, но сей час рассмотрим их все.

Объекты базы данных отображаются в виде дерева. Что бы просмотреть какой либо элемент, необходимо его выбрать, при этом в рабочей области откроется окно, работы с этим объектом. Некоторые действия с объектом (удаление, создание нового и пр.) можно выполнить через контекстное меню.

В основном окне объекта имеется несколько вкладок, в каждой из которых решается определенная задача. Количество и содержание вкладок зависит от типа выбранного объекта. Рассмотрим более подробно работу

Для упрощения процесса заполнения базы данных для некоторых таблиц целесообразно создать автоинкремент для соответствующего первичного ключа.

Как пользоваться IBExpert?

опять возвращаемся к теме насущной необходимости
передачи гранаты в личное пользование обезьяне.

Тут ведь как - или граната взорвётся и унесёт с собой обезьяну (естественный отбор, так сказать), или обезьяна таки превратится в человека (тоже эволюция) :)
Не считаю нужным насильно ограждать обезьян от потенциальных граблей, тем более что "грабельность" описана тут же :)

В любом случае я отвечал на сомнения по поводу IBE + FBEmbedded, а не на что-то другое

Re: Как пользоваться IBExpert? [new]

Откуда: бурятский тундрюк, эсквайр
Сообщений: 27560


Привет, hvlad!
Ты пишешь:

h> Тут ведь как - или граната взорвётся и унесёт с собой обезьяну
h> (естественный отбор, так сказать), или обезьяна таки
h> превратится в человека (тоже эволюция) :)

эх, нету на тебя общества "защиты животных от окружающей среды". (С)

на днях "Гараж" Рязанова смотрел. вспомнилось.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3


ИМХО, IBExpert намного удобнее любого ораклиного инструментария, да и оракел сам скажем так "немного" посложнее FB будет.
ЗЫ а курсовик надо было вовремя делать.


Хорошо вам говорить)
когда БД создаёшь, тоже какой-то файл с БД просит присоединить. У меня пока таблиц нет: я его только поставил. Что делать? И где создавать таблицы? Где для этого интерфейс? И что подразумевается под этим файлом БД?

Re: Как пользоваться IBExpert? [new]

Откуда: бурятский тундрюк, эсквайр
Сообщений: 27560


Привет, EgorA!
Ты пишешь:

E> Дайте ссылку, если не трудно

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3

Re: Как пользоваться IBExpert? [new]

Откуда: Страна смеха
Сообщений: 16812

Хорошо вам говорить)
когда БД создаёшь, тоже какой-то файл с БД просит присоединить. У меня пока таблиц нет: я его только поставил. Что делать? И где создавать таблицы? Где для этого интерфейс? И что подразумевается под этим файлом БД?


укажи путь где Ты собираешься хранить файл БД.
например: C:\FBDB\MyFirstBase.fdb
ЗЫ на кого учимся-то?

Ссылка на сообщение

Ссылка (включая название темы)

Ссылка (URL)

Generated in 27ms. [6ms]

Не могу создать базу в ibExpert

Не могу создать базу в ibExpert - Firebird/InterBase

16.04.2015, 21:23 Не могу создать базу в ibExpert

инструкция
Установка SQL-сервера Firebird
0. Удалите предыдущие установки Firebird. После uninstall удалите также каталоги, куда он был установлен.

Загрузить новые версии Firebird всегда можно здесь www.firebirdsql.org
Внимание! На указанном сайте для скачивания и установки выбираем Firebird в 32-битном (x86) варианте!
При этом нет ничего страшного, если ваша операционная система — 64-битная.
1. Запускаем программу установки сервера.
2. Выбираем полную установку в варианте SuperServer.
3. Рекомендую изменить предложенный путь установки сервера на C:\Firebird\ (впишите вручную, не пользуйтесь выбором папки, там есть неприятный баг)
4. СНИМАЕМ галочку установки службы Firebird Guardian
5. СТАВИМ галочки, где предлагают копировать fbclient.dll в system32 и создать gds32.dll для устаревших приложений.
6. Выбираем запускать Firebird как Сервис (системную службу)
7. Дожидаемся конца установки и оставляем из двух одну галочку «запустить службу Firebird»

IBExpert - Мои файлы - Каталог файлов - Сайт заготовки для Дельфи&Pascal

Delphi заготовки IBExpert 2011.04.25 Rus Portable

IBExpert — оболочка, предназначенная для разработки и администрирования баз данных InterBase, Firebird и Yaffil, обладает множеством облегчающих работу компонентов: визуальный редактор для всех объектов базы данных, редактор SQL и исполнитель скриптов, отладчик для хранимых процедур и триггеров, построитель области, собственный скриптовый язык, а также дизайнер баз данных и т. д.



Возможности программы:
• Поддержка InterBase версий 4.х, 5.х, 6.х, 7.х; Firebird 1.х; Yaffil 1.х
• Работа одновременно с несколькими базами данных
• Отдельные редакторы для всех объектов БД с синтаксической подсветкой
• Мощный SQL редактор с историей запросов и возможностью фонового выполнения запросов
• Отладчик хранимых процедур и триггеров
• Поиск в метаданных
• Полное и частичное извлечение данных и метаданных
• Анализатор зависимостей объектов баз данных
• Отчеты по метаданным
• Менеджеры пользователей и пользовательских привилегий
• Экспорт данных в различные форматы


Разработчик: IBExpert KG
можно скачать с сайта производителя
http://www.ibexpert.com/download/setup_trial.exe


понравился скриншот при установки IbExpert


Просмотров. 4112 | Загрузок. 1073 | Комментарии. 2 | Рейтинг. 5.0 / 1

Всего комментариев. 1

Порядок вывода комментариев:

IB Expert - The Most Expert for InterBase, Firebird and Yaffil
Copyright © 2000-2012 IBExpert KG
All rights reserved.

Раз Вы читаете этот текст, значит на Вашем компьютере установлена
кодовая страница WIN1251. А это в свою очередь означает, что Вы вправе
использовать этот продукт совершенно бесплатно.

В любом случае, Вы всегда можете помочь нам своими советами
по улучшению продукта, баг-репортами и новыми идеями.

Успехов Вам в работе!

Copyright MyCorp © 2016
Хостинг от uCoz