Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 13:53   #1
Bobick
 
Регистрация: 08.03.2009
Сообщений: 9
Стрелка FireBird Embedded

Пишу на Дельфе (Borland Developer Studio 2006) локальную базу данных.
В качестве базы выбрал -> FireBird Embedded 2.5.0
В качестве драйвера выбрал -> IBProvider OLE DB 3.0.0.9496 RC4

Подключил базу через компонент TADOConnect (DbGo).
В папке с программой лежат файлы

aliases.conf
firebird.msg
fbclient.dll
icudt30.dll
icuin30.dll
icuuc30.dll

Компилируется и работает. Однако переношу все файлы на другую машину и тогда выходит ошибка: "Не удается найти указанный поставщик. Вероятно, он установлен не правильно".
Заметил, что если удаляю с первой машины fbclient.dll то все равно работает (оказывается он использует этот файл лежающий у меня еще и в Windows). Скопировал этот файл в Windows на другой машине, но это не сработало. Отсюда у меня три вопроса:

1). Почему не запускается программа на второй машине? Не ужели он требует установленного драйвера, но тогда на кой использовать Embedded если все равно необходимо что-то да устанавливать?
2). Как заставить программу использовать fbclient из папки с программой, а не из папки Windows?
3). При подключении базы в Delphi не желает подключаться кодировка WIN1251 (Ошибка подключения к базе данных. bad parameters on attach or create database CHARACTER SET WIN1251 is not defined). Если задаю None, то все работает.

Заранее благодарю за помощь и большая просьба писать поподробнее ибо до меня все обычно доходит очень долго
Bobick вне форума Ответить с цитированием
Старый 20.05.2010, 14:02   #2
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

IBProvider OLE DB 3.0.0.9496 RC4 должен быть установлен на любой машине, на которой вы будете запускать свою программу. Он является промежуточным механизмом для доступа к базе из клиентского приложения и ему побарабану, embeded у вас или полноценный сервер. Этот драйвер использует универсальный механизм ODBC реализованный в Windows. Ваше клиентской приложение обращается не напрямую к серверу, а к механизму ODBC WIndows, а тот в свою очередь, с помощью IBProvider, обращается к серверу. Поэтому от либы, которая лежит рядом с вашим исполняемым файлом, ничего не зависит...

Вам лучше использовать компоненты прямого доступа к IB/FB - IBExpress с палитры InterBase или комерческий вариант, но самый лучший на сегодняшний день - FIBPlus. Для доступа к базе через эти компоненты, достаточно "бросить" клиентскую либу от FireBird рядом с вашим экзешником, компонентам кроме этой либы больше ничего не надо, никаких провайдеров.

Последний раз редактировалось Rik; 20.05.2010 в 14:21.
Rik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows Embedded Standard 2011 CTP2 valerij Windows 4 03.02.2010 15:29
Microsoft eMbedded Visual C++ или "есть ли альтернатива?" Хрюн моржов Visual C++ 10 08.10.2009 00:50
Как изменить User-Agent в Embedded WB postal2 Компоненты Delphi 1 07.08.2009 12:54
Проблема с Firebird embedded Lion-Tiger БД в Delphi 7 05.06.2009 09:32
FireBird 1.5.4 Nikola__ БД в Delphi 2 17.11.2008 14:42