Позволяет выполнять запросы выборки данных (SELECT, другие не пробовал — возможно, тоже)
Возможна удаленная работа (т.е. когда база firebird находится на другом компьютере локальной сети).
Не требует дополнительных драйверов — всё, что нужно, вложено в комплекте!
Конечно, в 1С имеется встроенный механизм чтения данных из баз данных Firebird, о нем можно почитать, например тут:
Только вот, не всегда этот механизм работает — танцы с бубном, как правило, обеспечены…
Те, кто работал с Firebird в Delphi — знают, как просто использовать компоненты InterBase для работы с данными: нужна всего одна внешняя DLL — GDS32.DLL
Взял на себя смелость, используя технологию Native API — набросать ВК для простого чтения данных. Ничего особенного, вроде бы…
Принцип работы ВК — прост: принимает запрос и имя временного файла XML, куда кладется результат выполнения запроса или описание ошибки. Далее с этими данными вполне сможет работать 1С штатным механизмом чтения…
Получилось просто и быстро.
Главный бонус — можно читать данные с удаленного компьютера, если на нем открыт стандартный порт сервера Firebird (вроде, 3050) — для этого перед локальным путем базы на сервере указываем его сетевое имя и через двоеточие — путь, например:
server1:c:dataase1.fdb
здесь, server1 — имя компьютера в сети (где база лежит), c:dataase1.fdb— локальный путь к базе на компьютере server1.
Если кто не знает, что такое Firebird: http://ru.wikipedia.org/wiki/Firebird
База данных Firebird используется, например, в пропускной системе PERCO S-20.
В комплекте, помимо GDS32.DLL положил несколько вспомогательных DLL, необходимых первой для работы.
что-то мне кажется, что общение через временный файл XML будет не совсем удобным (хотя, как один из вариантов коммуникации вполне может присутствовать).
гораздо удобнее сразу получить в 1с внутреннее представление таблички.
а уж описание ошибки и подавно нужно в AddError() подавать
кстати, интерфейсный модуль свой использовали, или изhttp://infostart.ru/public/81644/ ?
(2) именно, хотя для основы брался модуль-наследник:http://infostart.ru/public/88060/
(3) тогда сразу хочу задать Вам дополнительный вопрос 😉
не наблюдали ли Вы каких-либо проблем в момент загрузки dll-ки на компах с Win2008 x64 и Win7 x64?
Абсолютно никаких проблем не наблюдал на Win 2008 x64. На Win7 x64 не тестировалось.
а запросы INSER UPDATE пробовал кто-нибудь с этой компонентой делать?
SELECT мало интересен для нашей задачи
(4), я в (5) не совсем прав. теслировал на 32-битной платформе. Протестировал в регламентном задании на 64-битном сервере. DLL не загружается. И это, наверное, естественно…
а двоичные данные можно вытащить? (фотографии, например)
(8) нет, с картинкой не работали — только текст/дата/булево/число. Впрочем, исходники есть — можете реализовать чтение BLOB-полей.
(9) спасибо, через внешние источники всё достал, включая фото 🙂
Спасибо за разработку, очень помогло при работе с программами расчета окон!
(11) Пожалуйста.
Надо бы перекомпилить на Win64 на новой дельфе XE5 (на демо версии наверное должно получиться 🙂 )…
(0)DrAku1a
потребовалось подключится к базе, друг дал образец своей базы, логин/пароль, скачал твое чудо и все заполнил и нажал «Выполнить», на что выдано было: Внешняя компонента : unavailable database.
Скажи какие условия нужно выполнить чтобы взлетело?
GDS32 у меня не регистрируется через regsvr32 на WinXP — говорит что нет точки входа.
Да и вообще странно почему нигде не требуется указание логина/пароля — как происходит авторизация в базе то?
(13) Данная компонента подключается к базе, а не к файлу. Установите Firebird. Авторизация по-умолчанию
Это по поводу авторизации.
SQL error code = -204
Table unknown
ACCESS_POINTS
At line 1, column 15.
В чём может быть проблема?
Вольный перевод: Не найдена таблица. Проверьте к той ли базе Вы подключились и есть ли в ней таблица «ACCESS_POINTS».
Вроде стоит последний драйвер, но пишет ошибку. Как быть ?
Невозможно установить соединение с Firebird:
{ВнешняяОбработка.Firebird_Проверка_ВК.Форма.ФормаУправляемая.Форма(87)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]unsupported on-disk structure for file D:CBASE.FDB; found 11.2, support 11.1
сам нашел в чем проблема необходимо поставить Firebird_2_5 и все ок