Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134

Delphi+ADS+DBF

15.09.2017, 15:18. Показов 2185. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Возник такой вопрос. Есть делфи и компоненты ADS-a. Работаю с dbf-файлами. Делаю запрос к dbf-файлу. Если dbf-файл лежит на локальном диске - все прекрасно работает. Если dbf-файл выкладываешь на сетевой (подключенный например "h:\1") диск выдает сообщение в стиле:

Error 7200: AQE Error: State = HY000; NativeError = 5041; [iAnywhere Solutions][Advantage SQL][ASA] Error 5041: The requested object was not found.
vm_hist - link object is not supported on free connection. Table name: dbf


Настройки компонента TAdsConnection1 в части:
AdsServerTypes:
stADS_REMOTE
stADS_LOCAL
stADS_AIS

ничего не дали.

Добавлю что набор файлов
ADSLOCAL.CFG
ace32.dll
adsloc32.dll
axcws32.dll
ADS.INI

Присутствуют в каталоге windows\system32
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.09.2017, 15:18
Ответы с готовыми решениями:

DELPHI+DBF
Добрый день. Задача звучит так: Берём DBF файл и добавляем новые столбцы. Входные ДБФ могут быть с разным количеством столбцов. ...

DBF и Delphi
Вопрос новичка: как создать программу на Делфи каторая будет просматривать и редактировать(к примеру пользователь выбрал колличество товара...

DELPHI и DBF
люди выручайте делаю программу на DELPHI с использованием баз данных которые были сделаны в программе Visual FoxPro подключил вроде успешно...

11
 Аватар для drvolodko
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
15.09.2017, 17:04
Доступ у пользователя программы на сетевой ресурс есть для записи? При открытии dbf вроде как создается временный файл в том же каталоге. А ADS-компоненты могут обращаться к сети? Быть может ADS вместо H:\1 необходимо указывать UNC путь? В стиле \\server\share\1. Попробуйте еще в конце пути слэш добавлять: H:\1\
0
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
15.09.2017, 17:19  [ТС]
Доступ на запись на сетевом диске однозначно есть.

Путь в стиле unc я пробовал. в этом случае до TADSQuery дело не доходит. TADSConnection не подключается выдавая ошибку.

На счет "слеша в конце" не помню пробовал ли. В понедельник попробую, но врядли поможет. Учитывая что на локальном все работает без слеша - врядли данный вариант поможет.

На счет могут ли ads обращаться к сети честно говоря не знаю. Те же TQuery никогда не делали разницу между локальным путем и сетевым диском. А в ADS компонентах наверняка в основе взят класс TQuery..почеиу такая реакция в ADS компонентах абсолютно не ясна..
0
 Аватар для drvolodko
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
16.09.2017, 10:06
Используйте Query компоненты. Они нормально работают с dbf. А почему бы Вам не перейти от dbf к более живым и современным вариантам? Тем более, что у Вас есть сеть. Например, MS SQL Express совершенно бесплатен. Импортируйте данные и наслаждайтесь
0
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
16.09.2017, 11:42  [ТС]
Объясню мою необходимость. Есть данные из некоторых программ (не мной написанных) давно написанные и работающие на dbf. Их переписывать разрабы пока не собираются. Так же есть программы работающие с данными на СУБД Oracle. Актуальные данные в dbf-файлах. Для поддержания актуальности данных в Oracle я написал программу закачки из dbf в Oracle. Т.к. данные из dbf я собираю из нескольких разных "dbf" программ то кодировка там разная. плюс есть необходимость обработки записей удаленных. Оба этих момента позволяет решить набор компонент ADS. Уже программа написана как вдруг вылезла проблема с файлами в сети. Я конечно знаю обходные пути решения данного вопроса..вроде копирования на локальный диск..но мне хотелось найти нормальное решение данного вопроса с этими компонентами без всяких обходных решений
0
Айлурофил
 Аватар для Massaraksh7
514 / 447 / 112
Регистрация: 27.05.2017
Сообщений: 2,703
Записей в блоге: 5
16.09.2017, 11:52
C dbf-файлами из Delphi есть возможность работы напрямую через BDE.
0
5981 / 4556 / 1095
Регистрация: 29.08.2013
Сообщений: 28,190
Записей в блоге: 3
16.09.2017, 12:25
для этого нужно BDE ставить
а если уж ставить то может лучше компонент для dbf?

какая у вас версия delphi?
0
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
16.09.2017, 13:11  [ТС]
Господа! Я знаю что такое BDE-шные компоненты. если уж вы их так советуете, поведайте, как в пределах одной екзешки работать с dbf-файлами разной кодировки одновременно (в данном случае имеется в виду 2 выборки в разных query и что бы в обоих query информация отображалась в читабельном виде а не крякозябрами. В каждом query набор dbf-файлой своей кодировки) и как делать выборку из dbf, что бы и удаленные записи тоже отображались? Такие вещи BDE-компоненты позволяют?
0
Айлурофил
 Аватар для Massaraksh7
514 / 447 / 112
Регистрация: 27.05.2017
Сообщений: 2,703
Записей в блоге: 5
16.09.2017, 13:16
1. Перекодировать можно и после чтения.
2. Насколько я помню, удалённые записи в dbf ничем не отличаются от не удалённых, кроме символа * в начале записи.
0
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
16.09.2017, 15:55  [ТС]
Мы как то удалились от исходного вопроса. Устраивать танцы с бубном там где все проще решается я не вижу смысла. Интересно было бы мнение тех кто с ADS компонентами работал. я мог бы на bde компонентах на тему кодировки тоже обходными путями решить вопрос, в стиле сделать 2 exe-шки, между запуском которых например меняется cfg для bde, задавая таким образом нужную кодировку. но это не легче вариант чем копировать на локальный диск dbf файлы. по поводу удаленных записей..как мне информация про * поможет? открывать файл вручную и делать то что bde делает? где тут упрощение?
0
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
18.09.2017, 09:15  [ТС]
В общем решил я эту проблему.

Нашел более новую версию..поковырялся в инете ..практически все ссылки на компоненты устарели, а тут нашел сайт где есть версия куда новее чем я мог предположить. Там эту проблему разрабы решили. Кому интересно:
http://devzone.advantagedataba... Platform=6 - вот ссылка.

Если еще есть необходимость работы с dbf файлами в частности и нужны функции работы с удаленными файлами, менять кодировки файлов на ходу..можете попробовать. Да и инсталяции файлов-поддержки для этой вещи сводится к копированию нескольких файлов..куда проще чем BDE.
1
 Аватар для MyEternity
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
18.09.2017, 17:58
Цитата Сообщение от shivara52 Посмотреть сообщение
Если еще есть необходимость работы с dbf файлами в частности и нужны функции работы с удаленными файлами, менять кодировки файлов на ходу..можете попробовать. Да и инсталяции файлов-поддержки для этой вещи сводится к копированию нескольких файлов..куда проще чем BDE.
BlockRead, BlockWrite будут работать без проблем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.09.2017, 17:58
Помогаю со студенческими работами здесь

Работа с DBF в delphi
Всем доброго времени суток. Ни когда не работал с .dbf но появилась такая задача чтобы из 3-х 4-х dbf файлов собрать один причем из каждого...

база DBF в delphi
Народ хелп. как сделать в делфи чтобы запрос отображадся в другом окне, есть база которая просто открывается в окне DBGrid. после открытия...

Delphi и dbf таблица
Доброго времени суток, господа, возникла потребность отредактировать таблицу FoxPro формата *.dbf c Memo полями при подключении через...

Экспорт данных в DBF (перевод на Delphi)
Добрый день! Перевожу программу в Delphi XE2 проблемма с экспортом данных в DBF базу. А конкретно - не грузятся 2 поля: NKONTR и NKONTRV....

Как импортировать dbf таблицу в Базу Delphi 7
Нужно что бы в Delphi 7, при нажатие кнопки открыть БД открывала базу dbf из указанного места! Помогите пожалуйста, срочно нужно!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru