|
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
|
|
Delphi+ADS+DBF15.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
|
|
| 15.09.2017, 15:18 | |
|
Ответы с готовыми решениями:
11
DELPHI+DBF DBF и Delphi DELPHI и DBF |
|
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
|
|
|
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
|
|
|
Айлурофил
|
|
| 16.09.2017, 11:52 | |
|
C dbf-файлами из Delphi есть возможность работы напрямую через BDE.
0
|
|
|
2 / 2 / 0
Регистрация: 26.04.2010
Сообщений: 134
|
|
| 16.09.2017, 13:11 [ТС] | |
|
Господа! Я знаю что такое BDE-шные компоненты. если уж вы их так советуете, поведайте, как в пределах одной екзешки работать с dbf-файлами разной кодировки одновременно (в данном случае имеется в виду 2 выборки в разных query и что бы в обоих query информация отображалась в читабельном виде а не крякозябрами. В каждом query набор dbf-файлой своей кодировки) и как делать выборку из dbf, что бы и удаленные записи тоже отображались? Такие вещи BDE-компоненты позволяют?
0
|
|
|
Айлурофил
|
|
| 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
|
|
|
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
|
|
| 18.09.2017, 17:58 | |
|
0
|
|
| 18.09.2017, 17:58 | |
|
Помогаю со студенческими работами здесь
12
Работа с DBF в delphi
Delphi и dbf таблица Экспорт данных в DBF (перевод на Delphi)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
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, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|