Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Распространение программмы


Автор: Anark1 11.3.2007, 19:13
Программа использует БД (Paradox+ADO). При запуске на другом компьютере выкидывает ошибку 
                  "[Microsoft][Диспетчер драйверов ODBC]Источник данных не найден и не указан драйвер,
                                                     используемый по умолчанию.
"
Use Dynamic RTL, Build with runtime packages - отключено.
Придется таскать источник данных чтоли? И почему требует драйевр, который должен быть включен в ОС WinXP ?


Автор: O_Nik 11.3.2007, 22:11
Раз парадокс, я так понимаю BDE используется, поэтому надо чтобы он был установлен на машине пользователя, либо отдельным пакетом, либо вместе с билдером, либо делать инсталлятор с помощью Install Shield, где к приложению прикреплять пакет с BDE.
Модули BDE лежат в папке C:\Program Files\Borland\CBuilder6\MergeModules по умолчанию (bdeclientdataset.msm, bde_ent.msm думается они, но на всякий случай лучше все) это скопировать в каталог с модулями Install Shield (каталог не помню, можно найти его в хелпе к Shield по ключевому слову Merge modules) ну а потом просто прикрепить эти модули к проекту в Install Shield (они появятся сами как доступные в Merge Modules), тогда инсталлер будет ставить и BDE вместе с приложением.
насчет ADO не знаю, может быть также.

Автор: pandrew 12.3.2007, 11:21
Цитата(Anark1 @  11.3.2007,  19:13 Найти цитируемый пост)
Придется таскать источник данных чтоли? И почему требует драйевр, который должен быть включен в ОС WinXP ?
Скорее всего нет нужного драйвера ODBC или неверно сконфигурирован источник данных. Запусти odbcad32.exe и сравнивай на обоих ПК
Не думаю, что в WinXP кто-то обязан включать конкретный драйвер. Раньше они поставлялись только с MS Office.

Автор: Anark1 12.3.2007, 15:42
to O_Nik
Парадокс - это база данных, при чем тут BDE? Я для этого то и использую ADO, чтобы не таскать все файлы BDE вместе с программой. ADO - это продукт майкрософт, который точно есть в WinXP.

to pandrew
Источник сконфигурирован верно. Иначе, программа бы не работала и на компе, где я её писал. Видимо, придется ставить драйвера. А вот где можно скачать Microsoft ODBC Driver for Paradox ?

Автор: pandrew 12.3.2007, 17:25
Цитата
Источник сконфигурирован верно. Иначе, программа бы не работала и на компе, где я её писал. Видимо, придется ставить драйвера. А вот где можно скачать Microsoft ODBC Driver for Paradox ? 


На втором ПК источник сконфигурирован неверно!
Драйвер для Paradox (Borland продукт) вроде бы устанавливался с помощью BDE. 
Залезаем в настройки ODBC на первом ПК, и пытаемся все повторить на втором. Возможно придется перекинуть несколько DLL и подправить файлы odbc*.ini
ИМХО правильнее переделать быстро софт на FoxPro, Access или что-то покруче. Paradox  много лет не поддерживается :(

Автор: Anark1 12.3.2007, 17:57
Какую БД лучше использовать, чтобы ставить на пользовательский компьютер как можно меньше дополнительных файлов\драйверов и т.д. ? 
dBase for Windows , например,  для неё драйвера вроде бы изначально стоят.

Автор: ama_kid 12.3.2007, 18:11
Anark1
Ничего не ставь - используй MSAccess - все дрова к нему ставятся с офисом, сама БД представляет из себя простой файл mdb к которому можно цепляться через ADO. Я вообще никогда не использовал никаких тяжеловесных продуктов типа InterBase, Paradox, BDE (и другие страшные слова) и не жалею об этом (хотя кому-то может и нравится). Если надо просто храниться СВОИ данные - то access - самое то. Пример работы с БД у меня есть http://forum.vingrad.ru/act-Attach/type/post/id-1058125.html (правда это было немного по другой теме)..
Для dBase - надо свои методы работы разрабатывать (или использовать чьи-то наработки), ибо специальных встроенных компонентов нет. К тому же стандарт устарел еще несколько лет назад...

Автор: Anark1 12.3.2007, 21:30
Перенес программу на MS ACCESS. Теперь требует BORLNDMM.DLL. Не понимаю теперь то при чем тут Борланд. ADO и ACCESS продукты чисто Microsoftские. Офис есть.

Автор: ama_kid 12.3.2007, 22:50
BORLNDMM.DLL - это менеджер управлению памятью. Ни к ADO, ни к MSAccess прямого отношения не имеет... Надо чистить/оптимизировать код, а это уже тема отдельного топика...

Автор: FFFFFFF7 13.3.2007, 13:02
Anark1,  св-ва проекта: Use dynamic RTL и Build with runtime packages - эти флажки просто сними ;) 

Автор: Anark1 13.3.2007, 15:47
2 FFFFFFF7

Цитата(Anark1 @ 11.3.2007,  19:13)

Use Dynamic RTL, Build with runtime packages - отключено.


2 ama_kid

Можно поподробнее про Borland Memory Manager ?
Какое отношение имеет к базам данных? 

Автор: ama_kid 13.3.2007, 16:42
Anark1
Я ведь сказал, что к базам данных http://msk.nestor.minsk.by/kg/2003/37/kg33703.html отношения не имеет... Ты где-то в своем приложении используешь борландовскую технологию распределения памяти... Почитай ссылку и поюзай поиск...

Автор: Anark1 13.3.2007, 18:16
Спасибо за ссылку. Прочитал, вроде бы понял, но все же решил перенести две dll. 
Теперь при запуске ошибка : "[Microsoft][Драйвер ODBC Microsoft Access] Строка '(нет данных)' задает ошибочный путь, проверьте, что путь задан правильно и имеется подключение к серверу на котором находятся файлы."

Ну я зашел в Администрирование->Источники, указал драйвер, путь к своей БД. Или надо тащить источник с компьютера, на котором писал свою программу?
Или я вовсе не прав?  smile 

Автор: Anark1 14.3.2007, 19:47
эээй.....  smile 

Автор: ama_kid 14.3.2007, 22:51
Цитата(Anark1 @  14.3.2007,  19:47 Найти цитируемый пост)
эээй.....  smile 

smile Это мне?

Отвечаю по существу: данная ошибка к ADO не имеет отношения, ты пытаешься сконнектиться с БД через ODBC, для него, естественно, надо настраивать соответствующий источник данных в администрировании. Если ты собираешься работать с ADO - тогда вообще выкинь на помойку этот ODBC и работай с компонентами TADOConnection и TADOQuery. Для TADOConnection надо просто настроить строку подключения, которая должна выглядеть примерно так:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=полный_путь_к_файлу_mdb;Persist Security Info=False"; Дальше смотри хелп по указанным мной компонентам...

Автор: SimpAlex 10.6.2008, 01:11
Немного подниму темку.

была такая же проблемма, но решилась сносом Оффиса 2007 и последующей установкой 2003 (точнее оставил 2003, а раньше стояли оба) на машине разработчика (меня), ну машине клиента тоже стоит 2003 оффис ... и последующей перекомпиляцией) ...

Ошибка там выдавалась раньше, теперь - все гладко ...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)