Firebird (SQL) - ВК для чтения без дополнительных настроек (Native API)

03.01.13

Разработка - Разработка внешних компонент

ВК для 1С 8.2 (управляемое и обычное приложение)
Позволяет выполнять запросы выборки данных (SELECT, другие не пробовал - возможно, тоже)
Возможна удаленная работа (т.е. когда база firebird находится на другом компьютере локальной сети).
Не требует дополнительных драйверов - всё, что нужно, вложено в комплекте!

Скачать исходный код

Наименование Файл Версия Размер
v8_fbsql.zip
.zip 1,13Mb
116
.zip 1,13Mb 116 Скачать
Исходники (Delphi 7)
.zip 8,93Kb
31
.zip 8,93Kb 31 Скачать

Конечно, в 1С имеется встроенный механизм чтения данных из баз данных Firebird, о нем можно почитать, например тут:

//infostart.ru/public/154693/

Только вот, не всегда этот механизм работает - танцы с бубном, как правило, обеспечены...  

Те, кто работал с Firebird в Delphi - знают, как просто использовать компоненты InterBase для работы с данными: нужна всего одна внешняя DLL - GDS32.DLL

Взял на себя смелость, используя технологию Native API - набросать ВК для простого чтения данных. Ничего особенного, вроде бы...

Принцип работы ВК - прост: принимает запрос и имя временного файла XML, куда кладется результат выполнения запроса или описание ошибки. Далее с этими данными вполне сможет работать 1С штатным механизмом чтения...

Получилось просто и быстро.

 

Главный бонус - можно читать данные с удаленного компьютера, если на нем открыт стандартный порт сервера Firebird (вроде, 3050) - для этого перед локальным путем базы на сервере указываем его сетевое имя и через двоеточие - путь, например:

server1:c:\data\base1.fdb

здесь, server1  - имя компьютера в сети (где база лежит),  c:\data\base1.fdb- локальный путь к базе на компьютере server1.

Если кто не знает, что такое Firebird: http://ru.wikipedia.org/wiki/Firebird 

База данных Firebird  используется, например, в пропускной системе PERCO S-20.

 

В комплекте, помимо  GDS32.DLL положил несколько вспомогательных DLL, необходимых первой для работы.

См. также.

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35624    110    127    

113

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    26859    133    98    

85

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    76396    71    255    

189

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    45734    117    66    

62

Разработка внешних компонент Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    5467    starik-2005    32    

40

Инструментарий разработчика Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    3340    70    ivan1703    26    

41

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    2930    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. andrewks 1370 03.01.13 09:48 Сейчас в теме
что-то мне кажется, что общение через временный файл XML будет не совсем удобным (хотя, как один из вариантов коммуникации вполне может присутствовать).
гораздо удобнее сразу получить в 1с внутреннее представление таблички.
а уж описание ошибки и подавно нужно в AddError() подавать
2. andrewks 1370 03.01.13 09:52 Сейчас в теме
кстати, интерфейсный модуль свой использовали, или из http://infostart.ru/public/81644/ ?
3. DrAku1a 1728 03.01.13 10:05 Сейчас в теме
(2) именно, хотя для основы брался модуль-наследник: http://infostart.ru/public/88060/
4. andrewks 1370 03.01.13 10:21 Сейчас в теме
(3) тогда сразу хочу задать Вам дополнительный вопрос ;-)

не наблюдали ли Вы каких-либо проблем в момент загрузки dll-ки на компах с Win2008 x64 и Win7 x64?
7. DrAku1a 1728 24.05.13 05:21 Сейчас в теме
(4), я в (5) не совсем прав. теслировал на 32-битной платформе. Протестировал в регламентном задании на 64-битном сервере. DLL не загружается. И это, наверное, естественно...
5. DrAku1a 1728 03.01.13 10:26 Сейчас в теме
Абсолютно никаких проблем не наблюдал на Win 2008 x64. На Win7 x64 не тестировалось.
6. kanalex 27 26.02.13 12:16 Сейчас в теме
а запросы INSER UPDATE пробовал кто-нибудь с этой компонентой делать?
SELECT мало интересен для нашей задачи
8. EvgeniuXP 18.12.13 18:31 Сейчас в теме
а двоичные данные можно вытащить? (фотографии, например)
9. DrAku1a 1728 19.12.13 04:36 Сейчас в теме
(8) нет, с картинкой не работали - только текст/дата/булево/число. Впрочем, исходники есть - можете реализовать чтение BLOB-полей.
10. EvgeniuXP 20.12.13 18:11 Сейчас в теме
(9) спасибо, через внешние источники всё достал, включая фото :)
11. skyp 36 06.02.14 17:42 Сейчас в теме
Спасибо за разработку, очень помогло при работе с программами расчета окон!
12. DrAku1a 1728 06.02.14 18:17 Сейчас в теме
(11) Пожалуйста.

Надо бы перекомпилить на Win64 на новой дельфе XE5 (на демо версии наверное должно получиться :-) )...
13. CaSH_2004 372 20.06.14 23:05 Сейчас в теме
(0)DrAku1a
потребовалось подключится к базе, друг дал образец своей базы, логин/пароль, скачал твое чудо и все заполнил и нажал "Выполнить", на что выдано было: Внешняя компонента : unavailable database.

Скажи какие условия нужно выполнить чтобы взлетело?
GDS32 у меня не регистрируется через regsvr32 на WinXP - говорит что нет точки входа.

Да и вообще странно почему нигде не требуется указание логина/пароля - как происходит авторизация в базе то?
14. DrAku1a 1728 23.06.14 02:11 Сейчас в теме
(13) Данная компонента подключается к базе, а не к файлу. Установите Firebird. Авторизация по-умолчанию
DB.Params.Add('user_name=SYSDBA');
DB.Params.Add('password=masterkey');

Это по поводу авторизации.
15. 3762515 11.07.14 09:11 Сейчас в теме
Внешняя компонента : Dynamic SQL Error
SQL error code = -204
Table unknown
ACCESS_POINTS
At line 1, column 15.

В чём может быть проблема?
16. DrAku1a 1728 11.07.14 15:38 Сейчас в теме
Table unknown

Вольный перевод: Не найдена таблица. Проверьте к той ли базе Вы подключились и есть ли в ней таблица "ACCESS_POINTS".
17. AlexeyK1 14 19.12.16 20:49 Сейчас в теме
Вроде стоит последний драйвер, но пишет ошибку. Как быть ?

Невозможно установить соединение с 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 и все ок
Оставьте свое сообщение