powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + dbf
9 сообщений из 9, страница 1 из 1
ADO + dbf
    #32076531
vladgorobin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет многознающий олл!
Просветите меня темного в таком вопросе.
Юзаю Дельфи 5 и сиквел 2000. И была у меня программа, которая с помощью BDE перекачивала данные dbf-файла на сервер (т.е. с помощью средств BDE я получал доступ к dbf-файлу, считывал по одной записи, а потом загонял по одной на сервер) и все работало хорошо.
Но вот, соблазнившиь ADO решил я это дело исправить, убил в проге все, что относится к BDE, и полностью все сделал на ADO. Запускаю у себя на машине (windows 2000, mdac 2.7) -- все работает. Перенашу на машину пользователя, для которго эта прога делается (у него windows 98 и mdac 2.7), запускаю и получаю такую ошибку: "[Microsofr][Диспетчер драйверов ОDBC]Источник данных не найден и не указан драйвер, используемый по умолчанию".
Вопрос: чего я не так делаю?
...
Рейтинг: 0 / 0
ADO + dbf
    #32076533
vladgorobin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, маленькое дополненение mdac не 2.7, А 2.6
...
Рейтинг: 0 / 0
ADO + dbf
    #32076535
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А к dbf через что лезешь? Может на него ругается?

И mdac обновить бы
...
Рейтинг: 0 / 0
ADO + dbf
    #32076543
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам конечно виднее...
Я вообще данные или паккаджами качаю ... или если нужен особый изврат -- чтобы сдалеть какую-либо логику - вот так:

Код: plaintext
1.
2.
select *
from openrowset('MSDASQL','DRIVER={Microsoft dBase Driver (*.dbf)};DefaultDir=c:\;FIL={dBase IV}', 'select * from kaka')


ИМХО все лучше чем прогу ваять а так на T-SQL забабахать логику мона и гемора меньше. Для простых весчей канечно ))
...
Рейтинг: 0 / 0
ADO + dbf
    #32076553
vladgorobin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясню почему такой изврат -- работа с каждой записью: моя основаня прога -- это программа, в которой сводится информация о всех платежах нашего предприятия, предприятие большое, сервером рулят другие люди и т.к. не хочется, чтобы все видели кому, за что и сколько платим, данные перед записью на сервер шифруются.

А вторая прога, на которой я щас и обломался, занимается экспортом-импортом данных из двух систем Банк-Клиент. Соответственно, прежде чем сделать экспорт из системы Банк-клиент, я должен взять запись из dbf-файла, зашифровать ее и потом записать на сервер. Пока экспорт работал через BDE никаких вопросов не возникало. Но потом попросили сделать импорт в систему банк-клиент, т.е. надо взять данные с сервера, расшифровать и записать в dbf-файл. Ну и тут я как продвинутый и использующий ADO, решил убрать код относящийся в BDE... Зря я это сделал.

На что еще обратил внимание, так это на свойства Parameters моего ADODataCommand1? который загоняет данные в dbf-файл -- у всех у них почему-то Size = -1, Precision = 0. Может в этом собака и порылась? (параметры у меня, кстати, и числа и строки и даты)
...
Рейтинг: 0 / 0
ADO + dbf
    #32076559
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так а на другой машине драйвер к dbf стоит? А то может нету его там?
И вообще - зачем к dbf через ODBC ходить? Есть компоненты, которые к нему напрямую ходят - и ни каких драйверов и проблем.
Если надо, могу кинуть компонент, сам им пользуюсь иногда (потому как с dbf раз в сто лет приходится сталкиваться)
...
Рейтинг: 0 / 0
ADO + dbf
    #32076611
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да...лучшее враг хорошего или не стоит чинить то, что не ломалось...

если пользуешься ODBC, посмотри есть ли на клиенте DSN
...
Рейтинг: 0 / 0
ADO + dbf
    #32076672
vladgorobin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за мысли. Победил сию проблему сам, а победил следующим образом:
1. ADOConnection, которое отвечает за подсоединение к dbf файлу теперь коннектится через udl файл.
2. На моей машине udl файл у меня использует строку подключения
3. На машине пользователя udl у меня использует источник данных, который я создал на этой машине.

Все и везде заработало (не понятно, правда, почему не работало и почему заработало). НО: ЭТО РАБОТАЕТ И ЭТО ГЛАВНОЕ
...
Рейтинг: 0 / 0
ADO + dbf
    #32076675
volta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то такое у меня работало через MDAC 2.6-2.7
CREATE(CN);
CN.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;';
CN.ConnectionString := CN.ConnectionString + 'Data Source=' + SourcePath;
CN.ConnectionString := CN.ConnectionString + ';Extended Properties=DBase IV';
CN.Open(ConnString);
CREATE(RS);
RS.ActiveConnection := CN;
RS.CursorType(3);
RS.Open('Select * from ' + SourceName);
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + dbf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]