![]() |
|
|
![]()
|
|
| huminclouds |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.7.2009 Репутация: нет Всего: нет |
Ситуация такова:
Есть приложение на Delphi 7, работающее с таблицами dBase через ADO. В приложении используются ADOConnection и ADOQuery. Провайдер: "Microsoft OLE DB Provider for ODBC Drivers" Вот ADOConnection.ConnectionString: "Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files" Собственно, все прекрасно работает. Проблема в том, что при попытке одновременно с моим запустить другое приложение, также работающее с файлами dBase, не важно через ADO или BDE, вываливается ошибка "Cannot load Driver" И наоборот - при работающей с dBase любой программе я не могу запустить свою прогу, выскакивает "Непредвиденная ошибка драйвера внешней базы данных (15877)" Как с этим бороться? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
А FoxPro не установлен?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| huminclouds |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.7.2009 Репутация: нет Всего: нет |
Нет, не установлен.
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
В общем, с фоксовым драйвером у меня всё работает нормально, несколько программ одновременно открываются. Другой вариант - использовать TDbf.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| huminclouds |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.7.2009 Репутация: нет Всего: нет |
TDbf - не вариант. Проблема кстати изрядно наболевшая, судя по постам в инете. Но уверенного решения пока не нашел.
|
|||
|
||||
| Gudinya |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 2.2.2008 Репутация: 1 Всего: 8 |
Мне помогало!
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase] "BDE"=dword:00000002 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Ни разу не сталкивался, хотя DBF из Дельфи открываю постоянно. Это сообщение отредактировал(а) Данкинг - 23.10.2009, 15:24 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| huminclouds |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.7.2009 Репутация: нет Всего: нет |
Gudinya, к сожалению, я не использую Microsoft Jet 4.0.
Данкинг, тебе видимо ADO с BDE лбами сталкивать еще не приходилось )). Кстати на win 2003 все прекрасно работает. Пока пришлось пересесть на BDE. Полет нормальный. Однако хотелось бы догрызть траблу. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Нет, и надеюсь, что и не придётся. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
huminclouds, никогда не используй ADO для работы с парадоксом или dbf. По тестам BDE работает примерно в 2000 раз быстрее с парадоксом. Про DBF ничего не могу сказать. Но всё равно BDE будет быстрее с DBF работать, значительно быстрее.
|
|||
|
||||
| huminclouds |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.7.2009 Репутация: нет Всего: нет |
Akella, спасибо за совет. На эту тему можно дискутировать очень долго. Лично по моим наблюдениям, ADO работает с Paradox и dBase ничуть не медленнее BDE, зато более функциональна, даже в localSQL, хотя казалось бы... Но не лишена, конечно, и своих косяков, например, знаменитое "Не удается найти строку для обновления".
На BDE-то я прогу пересадил, это несложно. Однако задача остается нерешенной. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Не совсем по теме, но всё же повторю. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| huminclouds |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.7.2009 Репутация: нет Всего: нет |
Данкинг, прости дружище, но я вынужден открыть тебе глаза. Возможно это будет для тебя ударом, но это необходимо.
"Жизнь без FoxPro возможна!" Крепись. ))))))))) |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Но работа с .dbf весьма затруднительна, я бы даже сказал, весьма, весьма и весьма. Это сообщение отредактировал(а) Данкинг - 26.10.2009, 14:38 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
И я и Vit тестировали. АДО работает не медленно, а оооочень медленно. Вернее не АДО, а ODBC.
а с чего ты взял, что на компе должен быть установлен фокспро Добавлено через 39 секунд это называется лечить зуб ректально Добавлено через 3 минуты и 58 секунд huminclouds, тебе нужны компоненты прямого доступа к дбф. А если уж нужно добраться к дбф через жоАДО, то можно поискать ODBC драйверы более-менее скоростные. Но я таких не видел. Данкинг, DBF бывают разных форматов, типов. У фокса тоже свой формат dbf. Не факт, что фокс откроет все виды/типы DBF. Да и таскать с собой фокспро не очень-то и удобно. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
На тот случай, если нужно что-либо поменять в таблице .dbf. Это называется здравый подход к работе с dbf из дельфи, если нет возможности написать программу полностью на фоксе.
Большинство всё же он откроет. Это другой вопрос... Это сообщение отредактировал(а) Данкинг - 27.10.2009, 16:49 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
это называется подход из дельфи к дбф через жо Добавлено @ 20:14
анука покажи, какие не поймёт ;) Добавлено @ 20:15
это не отмазка Добавлено @ 20:16
если на фоксе, то и таскай с собой фокс и можешь даже таскать с собой дельфи для работы программ, написанных на дельфи Это сообщение отредактировал(а) Akella - 27.10.2009, 20:16 |
||||||
|
|||||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Твои аргументы против? (или ты завидуешь моей находчивости?) Не знаю, я с BDE вообще ни разу не работал, поэтому просто предположил. Конечно, не отмазка, а логичное объяснение. А работать с DBF без установленного фокса - это то же самое, что установить FireBird, но принципиально не ставить IBExpert.
Если программа написана на фоксе без использования Дельфи, то понятно, что придётся таскать с собой фокс. Но, повторюсь, это ничем не отличается от таскания с собой JRE для запуска .jar. Это сообщение отредактировал(а) Данкинг - 27.10.2009, 20:25 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Да, мои аргументы против! та Боже упаси
Ну BDE умеет работать со всем стандартными DBF форматами и с парадоксом вплоть до версии 7. Самый идеальный вариант - это Paradox 7 + BDE + BDE имеет свой собственный драйвер для MS Access Так что BDE - это круто... было в своё время А щас круто какая-нибудь СУБД типа firebird, postgre, mssql + компоненты прямого доступа
Ну ты даёшь Ты обрати внимание, что речь идёт не о работе программиста с dbf, а о работе программы!!! с dbf Это сообщение отредактировал(а) Akella - 27.10.2009, 21:09 |
||||
|
|||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Нет, я спрашиваю, какие у тебя аргументы против. Кстати, предлагаю решить такую задачу. Имеются 5 файлов dbf (одинаковой структуры, для упрощения задачи). Требуется слить эти 5 файлов в один. Каким образом проще это сделать? Ничего не могу сказать, мне остаётся поверить. Разумеется, ADO, как и сам Фокс более "капризны" в этом плане.
Я как раз работу программиста имею в виду, поэтому понятно, что устанавливать пользователям IBExpert никто не просит. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Нет, ты спросил, типа мои аргументы против? Я ответил, что против Если это одноразовая задача, то это можно решить средствами экселя. В противном случае можно написать программу на дельфи или сях с использованием BDE или компонентов прямого доступа типа VolgaDB. Если в каждом файле по 10-50 записей, то можно и АДО, а если там большое количество записей, сотни или даже тысячи, то АДО, а вернее ODBC будет склеивать такие файлы пол дня. Значит ты не вник, что нужно автору темы. Это сообщение отредактировал(а) Akella - 28.10.2009, 10:30 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Забыл указать условие, что в каждой таблице по 100000 записей. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
ADO+стандартные драйверы ODBC загнуться на таком кол-ве записей, а BDE перекинет нормально, не за секунду, но нормально. При чём TTable в цикле может отработать быстрее чем TQuery запросами.
Экспериментировать не буду. Нет смысла. Не хочу. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Ну почему: ADO не загнётся, только скорость работы будет такой, что загнётся скорее юзер. Вот только вчера делал программу, которая сливает .dbf в разных каталогах в единый общий (там, правда, объёмы маленькие). Поиск файлов сделал на Дельфи, затем эта программа пути выводит в текстовый файл, который в свою очередь открывается прогой на фоксе, а она перебирает пути и подливает эти файлы к единому. А в общем, это уже оффтоп. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Среда для работы с DBF - не Java, а FoxPro. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |