| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 не знаю, может быть также. |
| Автор: 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 | ||
На втором ПК источник сконфигурирован неверно! Драйвер для 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
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] Строка '(нет данных)' задает ошибочный путь, проверьте, что путь задан правильно и имеется подключение к серверу на котором находятся файлы." Ну я зашел в Администрирование->Источники, указал драйвер, путь к своей БД. Или надо тащить источник с компьютера, на котором писал свою программу? Или я вовсе не прав? |
| Автор: Anark1 14.3.2007, 19:47 |
| эээй..... |
| Автор: ama_kid 14.3.2007, 22:51 |
Отвечаю по существу: данная ошибка к 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 оффис ... и последующей перекомпиляцией) ... Ошибка там выдавалась раньше, теперь - все гладко ... |