|
177 / 62 / 3
Регистрация: 17.11.2011
Сообщений: 318
|
|
Подружить Access c .fdb (Firebird)12.01.2012, 14:20. Показов 34447. Ответов 13
Метки нет (Все метки)
Есть файл с расширением .fdb
Файл создан не мною. На сколько разобрался, это база данных FireBird. Как научить аксесс открывать этот файл? В идеале нужно прилинковать таблицы из этого файла в проект access. Как я понимаю, это следует делать через ODBC. Параметры ConnectionStrings я нашёл, но как их подторкнуть?
0
|
|
| 12.01.2012, 14:20 | |
|
Ответы с готовыми решениями:
13
Вылетает ошибка при подключении базы с разрешением fdb(firebird 2.5) c++ builder, Компонент IBDatabase Как подружить jboss c firebird |
|
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|
| 12.01.2012, 17:09 | |
|
Как вариант...
Скачиваешь ODBC-драйвер например тут
Далее Внешние данные-->База данных ODBC...ну и далее(сорри за тавтологию) по подсказкам. Добавлено через 13 минут +почитайте тут-->
Подключение таблиц Firebird к базе данных MS Access
С выходом стабильной версии 1.0 Open Source ODBC драйвера от IBPhoenix появилась возможность свободно работать с базами данных сервера Firebird. Для этого достаточно лишь установить драйвер. Всю дальнейшую работу можно совершать непосредственно средствами MS Access. Создать DSN с помощью MS Access VBA можно с помощью функции RegisterDatabase, специально предназначенной для регистрации нового источника данных: DBEngine.RegisterDatabase <Имя источника данных>, _ <Название ODBC драйвера>, _ <Выводить или нет окно диалога драйвера ODBC>, _ <Список атрибутов> Имя источника данных следует задавать с некоторой осторожностью, чтобы случайно не испортить какой-нибудь "чужой" DSN. Таким образом, если Вы захотите установить другие значения параметров соединения, процедуру RegisterDatabase нужно наоборот запустить повторно с тем же именем DSN и эти новые значения просто будут перезаписаны поверх старых. Теперь немного подробнее о других параметрах. Название ODBC драйвера в нашем случае будет "Firebird/InterBase(r) driver". Список атрибутов - это пары параметр=значение, разделенные символами возврата каретки. Описываемый драйвер поддерживает следующие атрибуты соединения: DRIVER: Всегда IscDbc. DBNAME или DATABASE: Указывать обязательно. Местоположение базы данных (имя сервера и имя файла с полным путем либо псевдоним через двоеточие). Например: localhost:C:\DB\DataFile.fdb - локально 127.0.0.1:C:\DB\DataFile.fdb - локально 172.17.2.10:/usr/local/data/db.fdb - удаленно на *NIX 192.168.10.20:D:\FIREBIRD\Data.fdb - удаленно на Windows 192.168.10.20:MyAlias - удаленно (псевдоним) MYSERVER:MyAlias - удаленно (псевдоним) CLIENT: Указывать обязательно. Имя файла клиентской библиотеки. Особенно актуально при использовании встраиваемой (embedded) версии сервера. CHARSET или CHARACTERSET: Указывать желательно. Набор символов по умолчанию. READONLY: По умолчанию (=0) подключается к базе данных для чтения/записи. Можно сделать только для чтения (=1). NOWAIT: По умолчанию (=0), транзакция ждет снятия блокировки, если вдруг на неё наткнется. Можно сделать так, чтобы транзакция в такой ситуации сразу завершалась с ошибкой (=1). DIALECT: Указывать обязательно. SQL-диалект базы данных сервера. 1-й диалект используется для совместимости с сервером InterBase 5-й версии. Для сервера Firebird более типичен 3-й диалект, хотя и там можно создавать базы данных в первом диалекте. QUOTED: Эта опция гарантирует совместимость с базами данных, созданными в диалекте 1 (по умолчанию - включена). SENSITIVE: Эта опция устанавливает свойство SQL_IDENTIFIER_CASE. Значение по умолчанию SQL_IC_UPPER. Можно также установить SQL_IC_SENSITIVE. По традиции, и в InterBase и в Firebird используются заглавные буквы. AUTOQUOTED: Если установить, то драйвер будет пытаться самостоятельно заключать в кавычки идентификаторы, что черевато ошибками. Лучше не испытывать судьбу. FILEDSN: При подключении к серверу, Access использует эти ключи в следующей последовательности: сначала используются атрибуты, указанные в строке подключения, затем отсутствующая информация извлекается из указанного FILEDSN или DSN. SAVEDSN: Если этот параметр находится в строке подключения, то параметры успешного подключения, будут сохранены. Пароль сохраняется в зашифрованном виде. Другие атрибуты (UID, PWD и ROLE) лучше указывать непосредственно в строке подключения, так как для них характерны частые изменения. В итоге, в качестве строки атрибутов может получиться, например, следующее: DBNAME=localhost:C:\Work\FBTest.FDB DRIVER=IscDbc CLIENT=fbclient.dll CHARSET=WIN1251 READONLY=0 NOWAIT=0 DIALECT=3 QUOTED=0 Дальше, надо подключить объекты базы данных сервера к Вашему приложению либо с помощью команды DoCmd.TransferDatabase с типом преобразования acLink, либо путем создания нового объекта TableDef: Set NewTableDef = CurrentDB.CreateTableDef("Имя таблицы в БД MS Access") NewTableDef.Connect = "Строка подключения" NewTableDef.SourceTableName = "Имя таблицы или представления на сервере" CurrentDB.TableDefs.Append NewTableDef И в конце поможем Access'у определить первичный ключ, если он сам его не распознал, что является нормальным явлением при подключении представлений (VIEW): CurrentDB.Execute "CREATE UNIQUE INDEX PrimaryKey ON " & _ "Имя таблицы в БД MS Access" & "(" & _ "Список полей первичного ключа" & ")" Самое сложное здесь - составить строку подключения. В начале обязательно нужно указать "ODBC;", затем - имя созданного источника данных ("ODBC;DSN=<Имя источника данных>;..."), имя пользователя ("...;UID=<Логин>;...") и пароль ("...;PWD=<Пароль>;...") например: "ODBC;DSN=Firebird Test;UID=SYSDBA;PWD=masterkey;" ________________________________________ _____________ информация взята со страницы ssy.mccinet.ru/fb_connect.html
1
|
|
|
177 / 62 / 3
Регистрация: 17.11.2011
Сообщений: 318
|
|||||||
| 12.01.2012, 23:45 [ТС] | |||||||
|
--> Agapov_stas
Драйвер скачал и поставил, но правды не добился При регистрации таким макаром
При таком подходе: Прикладываю снимки с экрана по шагам. Может что не так делаю?
0
|
|||||||
|
177 / 62 / 3
Регистрация: 17.11.2011
Сообщений: 318
|
|
| 13.01.2012, 13:23 [ТС] | |
|
Кто-нибудь помогите.
Очень надо. Нужно перебрать базу отправленных и неотправленных SMS. Вручную перебирать его смерти подобно. Файл от этой проги:
0
|
|
|
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
|
|
| 13.01.2012, 17:30 | |
Сообщение было отмечено как решение
Решение
Есть вариант подружить другим методом перегнать таблы при помощи конвертера DataBaseMigration Toolkit. Жрет все. Найдешь
ЗДЕСЬ Ставишь прогу, таблЭтко там же. После этого источником данных делаешь твою fb базу а импортируешь в чистый аксесовский файл. Жрет все. Я про некоторые форматы баз, которые там можно выбрать вообще даже не слыхал )))
4
|
|
|
177 / 62 / 3
Регистрация: 17.11.2011
Сообщений: 318
|
|
| 14.01.2012, 02:06 [ТС] | |
:dance3:Всем наиогромнейшее спасибо. --> Сергей1980 Отдельное спасибо за утилиту. Разобрав исходный файл, лучше понял как приконнектиться и как с ней работать. З.Ы. Проблема с драйвером решилась установкой более старой версии.
1
|
|
|
lukoml88
|
|
| 09.04.2012, 15:42 | |
|
Добрый день!
Есть база FDB и есть приложение, работающее с этой базой, в этом приложении можно писать запросы, так вот, можно ли написать какой-нибудь запрос, чтобы шла выгрузка данных из FDB в MDB или хотя бы в DBF??? |
|
|
177 / 62 / 3
Регистрация: 17.11.2011
Сообщений: 318
|
||
| 10.04.2012, 18:10 [ТС] | ||
|
Но для начала определитесь действительно ли нужна выгрузка? Или нужно просто иметь возможность использовать данные из файла FDB? Что же касается использовать данные из вашего файла, то можно: 1) прилинковать таблицы из файла .fdb в файл .mdb/.accdb, дальше используйте их как обычные таблицы 2) написать запрос в файле .mdb/.accdb, в свойствах которого прописываете строку подключения к файлу .fdb -- тип запроса может быть любым -- хотите на выборку, хотите на добавление/изменение данных. Далее используете его как обычно. 3) в vba подключаетесь к вашей базе (создаёте ADODB.Connection), получаете из неё набор данных (ADODB.Recordset) и делаете с ним всё, что душе угодно.
0
|
||
|
Alex19502
|
||
| 18.06.2012, 15:45 | ||
|
Сергей1980, Сергей, спасибо! Работает здорово - без заморочек о которых говорят на других форумах. Там слишком много наворочено.
Добавлено через 1 минуту Добавлено через 19 часов 0 минут Сергей, рано я похвалил DataBaseMigration Toolkit - из .mdb в .fdb таблицы не проходят. Что-то делаю не так? Почта Alex_5070@mail.ru |
||
|
shamal_d
|
|
| 12.07.2012, 19:43 | |
|
Привет. Есть база FDB которая лежит в папке сервисной программы поставщика. Занимает 590 Мб. Пробывал подключится к ней при помощи ESF Database Migration выдает ошибку "Connection authorization failure"
Вероятно она как-то защищена, что можно попробывать ? |
|
|
buzulook
|
|
| 30.07.2012, 11:02 | |
|
Скиньте примерчик работающий, очень интересно же как оно работать будет!!!!!
![]()
|
|
|
shamal_d
|
|
| 27.08.2012, 13:28 | |
|
|
|
| 27.08.2012, 13:28 | |
|
Помогаю со студенческими работами здесь
14
Помогите "чайнику" подружить FireBird "подружить" NetBeans с Firebird Delphi + Access, как их подружить? Delphi + Access 2016 (база данных) как подружить? Чем БД на Firebird лучше БД на Access? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|