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

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1419 09.12.16 03:38 Сейчас в теме
Делал такое через самописную ВК (Native API, на Delphi, использует gdi32.dll), не требует дополнительных настроек на клиенте и установки. Если 1С и FB на разных серверах - не требует никаких танцев с бубном. Единственный минус - работает медленно.
2. Yashazz 3637 09.12.16 15:19 Сейчас в теме
(1) Так это ещё надо заморачиваться, ВК писать... И не на каждом компе гарантированно взлетит, ВК, они такие.
3. 1С_Мастер 64 29.12.16 10:29 Сейчас в теме
А внешние источники данных огнептицу не умеют?
4. Yashazz 3637 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 3637 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 167 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 3637 21.10.20 10:54 Сейчас в теме
(9) Навскидку - не знаю. Возможно, речь о доступе не вообще к движку, а конкретно к базе? Запароленная, может?
11. vat-74 167 21.10.20 11:00 Сейчас в теме
(10)
Проверил через утилиту. Подключение произошло.
Прикрепленные файлы:
13. Yashazz 3637 21.10.20 11:17 Сейчас в теме
(11) Кодировка передаваемых авторизационных данных не может шалить?
12. Yashazz 3637 21.10.20 11:16 Сейчас в теме
14. vat-74 167 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 167 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 164 22.11.20 12:15 Сейчас в теме
Оставьте свое сообщение
Вопросы с вознаграждением