БД Firebird. Подключение, чтение, просмотр - сделать по-быстрому

0. 4340 02.12.16 13:07 Сейчас в теме
Заметки и опыт по итогам решения одной задачи. Подключение к БД Firebird, чтение/просмотр структуры таблиц, чтение/просмотр данных БД.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1514 09.12.16 03:38 Сейчас в теме
Делал такое через самописную ВК (Native API, на Delphi, использует gdi32.dll), не требует дополнительных настроек на клиенте и установки. Если 1С и FB на разных серверах - не требует никаких танцев с бубном. Единственный минус - работает медленно.
2. Yashazz 4340 09.12.16 15:19 Сейчас в теме
(1) Так это ещё надо заморачиваться, ВК писать... И не на каждом компе гарантированно взлетит, ВК, они такие.
3. 1С_Мастер 62 29.12.16 10:29 Сейчас в теме
А внешние источники данных огнептицу не умеют?
4. Yashazz 4340 29.12.16 11:03 Сейчас в теме
(3) Теоретически должны бы, на практике, лично у меня, не взлетело. Провайдер, вишь, не тот.
5. fuel56 45 27.06.18 11:16 Сейчас в теме
6. richchernov 04.03.20 15:10 Сейчас в теме
Сутки уже долблю, со всех сторон попробывал, в т.ч. и Ваш вариант - не работает. Пишет:
1.
Ошибка при установке соединения: {ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(39)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]Unable to connect to data source: library 'C:\Program Files (x86)\Firebird\Firebird_2_5\bin\fbclient.dll' failed to load
2.
Ошибка при установке соединения: {ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(39)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]Unable to connect to data source: library 'gds32.dll' failed to load
3.
Ошибка при установке соединения: {ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(39)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]Unable to connect to data source: library 'C:\Users\rich\Desktop\Обучение\IBExpert\IBEUDB\fbembed.dll' failed to load
4.
Ошибка при установке соединения: {ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(39)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Devart][ODBC][Firebird]Cannot load client library: C:\Program Files (x86)\Firebird\Firebird_2_5\bin\fbclient.dll

Ещё долго могу перечислять...
Платформа 8.3.16.1224
7. Yashazz 4340 04.03.20 22:25 Сейчас в теме
(6) Первое, что приходит в голову - у вас ADO-движок и 1С одинаковой разрядности?
8. richchernov 05.03.20 01:40 Сейчас в теме
(7) Большое спасибо за ответ...И, да, Вы правы. Я нашел это решение ещё через 3 часа после того, как написал этот комментарий, но сначала потрахался с *.udl, понял, что подключение происходит только в 32-х разрядном режиме, запуская принудительно через oledb32 с помощью rundll32 из папки syswow64. Потом ломал голову как всё это прописать в свойствах подключения, а потом просто установил 32-х разрядную версию 1С и заработало.
9. vat-74 166 21.10.20 10:25 Сейчас в теме
Очень интересная ситуация:
32 и 32 работает, но 1с считает себя ломаной и вылетает.

Поставил Огнептицу 64 и 1с 64 и выдает ошибку

Ошибка при установке соединения: {ВнешняяОбработка.ПросмотрДанныхFireBird.Форма.Форма.Форма(332)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Строка соединения: driver=Firebird/InterBase® driver;
Dialect=3;
CHARSET=NONE;
Uid=SYSDBA;
Pwd=1;
Dbname=C:\1C\2012.GDB
10. Yashazz 4340 21.10.20 10:54 Сейчас в теме
(9) Навскидку - не знаю. Возможно, речь о доступе не вообще к движку, а конкретно к базе? Запароленная, может?
11. vat-74 166 21.10.20 11:00 Сейчас в теме
(10)
Проверил через утилиту. Подключение произошло.
Прикрепленные файлы:
13. Yashazz 4340 21.10.20 11:17 Сейчас в теме
(11) Кодировка передаваемых авторизационных данных не может шалить?
12. Yashazz 4340 21.10.20 11:16 Сейчас в теме
14. vat-74 166 21.10.20 12:03 Сейчас в теме
(12)
Новые данные:
Если пароль поменять на masterkey или masterke, то выходит другая ошибка

Ошибка при установке соединения: {ВнешняяОбработка.ПросмотрДанныхFireBird.Форма.Форма.Форма(334)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]file C:\1C\ISC4.GDB is not a valid database
15. vat-74 166 21.10.20 13:13 Сейчас в теме
Походу бубны не прокатят

Внутренний формат хранения данных в firebird специфичен для платформы. Файл базы, созданный на x86, не будет валидным на x64, и наоборот.

Для корректной конвертации вам придётся сделать backup на x86, и restore на x64. Просто скопированы файл базы заставить работать не получится.

Вот аналогичный вопрос на enSO: Statement failed, SQLSTATE = -922 my_database.gdb is not a valid database

16. dnikolaev 173 22.11.20 12:15 Сейчас в теме
17. nazirovramzil 18.09.21 09:17 Сейчас в теме
Здравствуйте, не подскажете, можно ли из 1с получить список соединений к серверу fb и удалить их?
Оставьте свое сообщение
Вакансии
Консультант-аналитик 1С
Нижний Новгород
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Нижний Новгород
зарплата от 100 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата до 150 000 руб.
Полный день

Разработчик 1С
Санкт-Петербург
зарплата от 130 000 руб. до 170 000 руб.
Временный (на проект)

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству