Выгрузка в excel из ibexpert

Обновлено: 05.07.2024

Так уж случилось что сайт простаивает, а в свое время я занимался им активно, идея просто отличная и забросить ее не в коем случае нельзя, поэтому мной было принято решение о продаже этого сайта.
Что получает в итоге покупатель:

  • Весь контент сайта(все содержимое хостинга)
  • Полные права на доменное имя сайта(сделаем трансфер)
  • Копирайт сайта на большом количестве сторонних ресурсов так как сайту уже более 4-х лет
  • Готовый движок форума и все исходные тексты системы управления сайтом
  • Все исходные тексты ПО которое опубликовано на сайте
  • Все почтовые ящики доменного имени
  • Все домены третьего уровня

Дополнительную информацию о статистике посещения, клиентах, вы можете узнать написав на почту koder@koder.kz

Добавил admin | Категория Заметки про IBExpert, Firebird | 14 Декабря 2013

В IBExpert есть такой замечательный функционал «извлечение метаданных» он позволяет получить структуру таблицы, получить данные из какой либо таблице. Это необходимо например при переезде с одной СУБД на другую или к примеру при чистке метаданных БД, или когда вы хотите перенести БД на другой физический сервер а физически не можете подступиться к файлу базы данных. И так извлечение метаданных.


Заходим в инструменты – извлечение метаданных, перед нами появляется интерфейс по извлечению метаданных.


И так тут мы видим вкладки:

-Extract Metadata IBEBlock.

Вкладка метаобъекты содержит информацию о объектах БД которые можно импортировать, это могут быть:

Доступные объекты для импорта находятся в левой части окна в столбике «Доступные объекты»(№ 1 на рисунке). Объекты выбранные для импорта находятся в правой части окна в столбике «Выбранные объекты» (№ 2 на рисунке), добавлять или удалять объекты можно с помощью функциональных кнопок (№ 3 на рисунке).



Если нужно извлечь всю БД то можно поставить галочку «Извлечь всё».

Таблицы данных. Если нужно извлечь информацию из таблиц то в этом нам поможет вкладка «Таблицы данных».



Avaliable таблицы (№1 на рисунке) таблицы которые доступны для извлечения. Кнопки для настройки выгрузки (№2 на рисунке). Selected таблицы или выбранные таблицы обозначены №3 на рисунке.

Настройки. Вкладка настройки содержит основные операции по настройки выгружаемых данных.



-включить в скрипт оператор ‘CREATE DATABASE; если вы, к примеру импортируете БД полностью что бы поднять ее на новом сервере то безусловно нужно установить эту галочку;

-включить в скрипт оператор ‘CONNECT’; если вы устанавливаете подключение к БД вручную то галочку можно не ставить, если подключение устанавливается автоматически необходимо галочку установить;

-включить пароль в состав инструкций ‘connect’ и ‘create database’. Если нужно извлечь имя пользователя и пароль для нового подключения, то нужно установить эту галочку.

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

Вкладка протокол содержит информацию о ходе извлечения метаданных.

Вкладка Extract Metadata IDEBlock это скрипт на основе которого будут извлекаться метаданные из БД.




После установки всех необходимых параметров нам следует нажать кнопку , кстати кнопка будет доступна только после указания файла в который следует извлечь данные. О том как восстановить БД использую ранее извлеченные метаданные будет рассказано в следующей статье.

Так уж случилось что сайт простаивает, а в свое время я занимался им активно, идея просто отличная и забросить ее не в коем случае нельзя, поэтому мной было принято решение о продаже этого сайта.
Что получает в итоге покупатель:

  • Весь контент сайта(все содержимое хостинга)
  • Полные права на доменное имя сайта(сделаем трансфер)
  • Копирайт сайта на большом количестве сторонних ресурсов так как сайту уже более 4-х лет
  • Готовый движок форума и все исходные тексты системы управления сайтом
  • Все исходные тексты ПО которое опубликовано на сайте
  • Все почтовые ящики доменного имени
  • Все домены третьего уровня

Дополнительную информацию о статистике посещения, клиентах, вы можете узнать написав на почту koder@koder.kz

Добавил admin | Категория Заметки про IBExpert, Firebird | 14 Декабря 2013

Как говорилось ранее, EBExpert является мощным инструментом для работы с базой данных Firebird. В нем присутствуют инструменты резервирования базы данных и инструменты восстановления базы данных из резервных копий. В этой статье речь пойдет про резервирование базы данных Firebird средствами IB Expert. Для начала работы нам как всегда нужно запустить IB Expert и подключится к интересующей нас базе данных, после чего в «Службы» - «Резервирование базы данных»:



Перед нами откроется окно для создания резервной копии базы данных.



В этом окне (сверху вниз) отображается информация:

- Select database или выбранная база данных;

- File Name или имя файла резервной копии.

Параметры, вкладка General:

- игнорировать контрольную сумму. Определяет нужно ли игнорировать контрольные суммы файла резервной копии или нет, рекомендую оставить этот параметр как есть, то есть выключенным;

- Ignore transaction in limbo. Определяет нужно ли игнорировать транзакции коммита которых еще не было, то есть нужно ли сохранять открытые транзакции, естественно нет;

- Сохранить только метаданные. Определяет нужно сохранить только структуру базы данных или нужно сохранить структуру и данные, оставляем параметр так же без изменений так как нам нужна и структура (метаданные) так и данные нашей базы данных;

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

- Old metadata description. Резервировать описание объектов базы данных или нет;

- Convert to tables. Определяет нужно ли конвертировать таблицы. Это может понадобиться при переезде с Firebird на Oracle, к примеру;

- формат. Если выбран параметр Convert to tables, то указывается формат для конвертации таблиц.

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

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




Указать необходимые настройки и нажать кнопку , запустится операция резервного копирования данных и по ее завершению откроется вкладка «Протокол» примерно с таким содержанием:

Так уж случилось что сайт простаивает, а в свое время я занимался им активно, идея просто отличная и забросить ее не в коем случае нельзя, поэтому мной было принято решение о продаже этого сайта.
Что получает в итоге покупатель:

  • Весь контент сайта(все содержимое хостинга)
  • Полные права на доменное имя сайта(сделаем трансфер)
  • Копирайт сайта на большом количестве сторонних ресурсов так как сайту уже более 4-х лет
  • Готовый движок форума и все исходные тексты системы управления сайтом
  • Все исходные тексты ПО которое опубликовано на сайте
  • Все почтовые ящики доменного имени
  • Все домены третьего уровня

Дополнительную информацию о статистике посещения, клиентах, вы можете узнать написав на почту koder@koder.kz

Добавил admin | Категория Заметки про IBExpert, Firebird | 14 Декабря 2013



Откроется макет создания новой таблицы, введем имя нашей таблицы



Определимся с ее полями, пусть у нас будет поля ID, FIO, adres, photes, dfirs.

Все эти поля будут созданы на основе трех доменов:

Домен для первичного ключа - DMN_PK.

Домен для даты с текущей датой по умолчанию DMN_DATE.

Выполнить приведенные выше скрипты создания доменов можно нажатием кнопки F12 откроется последний закрытый SQL редактор, или нажать сочетание клавиш Shift+F12 и откроется новый SQL редактор в котором нужно выполнить скрипты и подтвердить commit (Ctrl+Alt+C). После того как нужные нам домены будут созданы можно перейти к созданию полей таблицы. Для этого нам необходимо



Ввести название поля ( на картинке номер 1), выбрать домен для этого поля (номер 2), добавить поле(номер три), после для каждого поля следует повторить указанные выше операции. Как только ввод необходимых полей будет завершен необходимо нажать Ctrl+F9 и сделать commit новым изменениям.

Первичный ключ таблицы

Для того что бы необходимое нам поле стало первичным ключем для нашей таблицы нам необходимо сделать двойной клик девой кнопкой мыши по ячейки в столбце ПК.



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



Вводим такой вот текст скрипта

GEN_TBL_MAIN название нашего генератора. Давайте разберем что же происходит. В переменной NEW находится введенная нами новая запись для таблицы. Поле ID этой переменной проверяется и если оно ровно NULL (если мы туда ничего не ввели) то вызывается функция GEN_ID которая генерирует значение увеличенное на 1 для генератора GEN_TBL_MAIN. И присваивает результат переменной NEW.ID. давайте скопируем скрипт и выполним его, выполнять необходимо в том окне в котором мы создаем сам триггер.

Скрипт генератора GEN_TBL_MAIN.

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



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



жмем Ctrl+Alt+C, запись добавилась, транзакция завершилась, таблица работает. О создании представлений и работы с ними мы поговорим с вами в нашей следующей статье.

image

Решил написать статью, о том, как сделать выгрузку данных в Excel файл по шаблону и считывать данные из Excel.
Началось всё с того, что на работе, дали указание, уйти от MS Office, на бесплатные аналоги.
У нас уже была система выгрузки, основанная на библиотеке “Microsoft.Office. Interop.Excel” и много готовых шаблонов, для выгрузки тех или иных отчётов.
Поэтому надо было найти бесплатную библиотеку, работающую с офисом. И сделать так, чтоб выгрузка работала по той же системе, что и раньше. Ибо переделывать все шаблоны и структуру, не хотелось.
Вот я и наткнулся на OpenXML. И думал, сейчас по быстрому найду решение в интернете и всё готово (т.к. на это было выделено мало времени). Но подходящего решения так и не нашёл, поэтому и решил написать эту статью, для тех у кого будет, такая же проблема.
Саму библиотеку, можно скачать бесплатно с сайта Micrisoft (я использовал в проекте OpenXML sdk 2.5 “ OpenXMLSDKV25.msi ”)
здесь.
После скачивания “OpenXMLSDKV25.msi ”, устанавливаем и заходим в папку
“C:\Program Files\Open XML SDK\V2.5\lib” там лежит библиотека, которая нам понадобится, мы её подключим к проекту (ниже будет описано, как).
Проект был написан на Visual Studio 2010 (Framework 4.0).
Ниже пример шаблона (сделан для теста) “C:\Templates\template.xlsx”.

И пример выгруженных данных (как это будет выглядеть в итоге, после выгрузки).

image

Ключевые слова:
DataField: — Означает, что на этом месте будут выведены наши банные из DataTable.
DataField:[название выводимого поля]
Label: — Означает, что на этом месте будут выводиться данные, которые надо вставить однократно из словаря
Label:[название ключа в словаре]
А это файл из которого мы будем считывать данные “C:\Loading\ReadMePlease.xlsx”.

image

image

Теперь создадим в VS2010, Решение в котором будет 4 проекта:
1) OpenXmlPrj – это консольный проект, для запуска теста.
2) Interfaces – это проект типа “Библиотека классов”, будет хранить наши интерфейсы данных для выгрузки.
3) Framework — это проект типа “Библиотека классов”, тут и будет происходить вся работа с Excel-ем.
4) Converter — это проект типа “Библиотека классов”, для конвертирования наших данных в DataTable (т.к. работа происходит с DataTable).

Теперь в проекте “Framework” создаём две папки и подключим ссылку на библиотеку OpenXML и WindowsBase:
“Create” – для работы с выгрузкой данных.
“Load” – для работы с загрузкой данных.
“lib” – в папку, добавим библиотеку OpenXML.
В папке “Create” создаём 4 класса.
1) Worker – это будет наш главный обработчик.


2) Footer – будет содержать строки и их ячейки идущие после наших данных.


3) CellForFooter – содержит в себе координаты ячейки и её значение, используется в Footer-е.


4) Field – будет содержать индекс строки, где находится DataField, координаты ячеек с DataField и название поля, значение которого надо вывести.

Читайте также: