Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

ODBC >> *.db 


Вика   (2002-01-31 23:42) [0]

Имеется программа с двумя сявзанными *.dbf таблицами, которые
располагаются на сервере. Эти таблицы должны одновременно юзаться
несколькими клиентами. В программе используются компоненты TTable.
Алиас я создала через ODBC. Всё работает просто отлично. За
исключением того, что на двух клиентских машинах в DBGrid`ах
отображается неверная кодировка и во всех клиентских программах
ползунок в DBGrid`ах имеет только три положение. Тогда я
переконвертила все *.dbf базы в *.db. Теперь ползунок сразу
стал вести себя "как надо" и вроде как и скорость программы
увеличилась. Но только теперь грабли заключаются в том, что
не могу создать алиас в ODBC для *.db дирректории. Выводит
след. ошибку:
The setup routines for the Driver do Microsoft Paradox (*.db) ODBC
driver could not be loaded due to system error code 31.
Could not load the setup or translator library.
Тогда я создала алиас через BDE и вроде как стало всё круто,но
только теперь запускается только одна клиентская программа, а
остальные вылетают по ошибке. Указала в BDE на каждой машине
Net дирректорию одну и ту же - на сервак. Запустилось всё круто
на всех клиентских машинах, да же на тех двух, где не работала
кодировка. Но обнаружились следующие грабли - когда в клиентской
программе ковыряешься с сервачной таблицей, то попытка обратиться
к этой же базе на других машинах заканчивается следующей ошибкой:
Record locked by another user.
Table: ......
User: .....
Что делать не знаю - на всех TTable Exclusive в False поставила,но
всё равно выдаёт.

Вот, впринципе и вся история теперь попробую вопрос сформулировать.
1. Может ли такое быть, что *.dbf могут редактировать по жизни
несколько юзеров, а *.db только один?
2. Как создать bd`шный алиас в ODBC для `98? Какие то библиотеки найти
не может. Захожу на своей машине в XP - там можно выбрать Microsoft
Paradox (*.db) но только для 3,4,5 Paradox`ов. Выбирала все, но
в программе при попытке указать в Table Name имя таблицы выдаёт
следующую ошибку:
Operation must be perfomed on the current session.
А если попробовать через ODBC VFoxpro цеплять то
вылетает по General SQL error
Так что в XP алиасы через ODBC вообще не работаюn,только через BDE,
а в `98 только фокспровые, но зато bd не даёт создать....
3. Может как нить в BDE можно что то указать, что бы
не запирал таблицу только для одного пользователя?? Уж больно
BDE администратор лучше и с bd легче работать. А ковыряться
с VFoxpro и искать от чего там кодировка не работает - эт
вообще тёмный лес.

ЗЫ Сорри за такую длинную портянку :(((



Biocron   (2002-02-01 00:16) [1]

ну первое, странно в ODBC уже должна была быть ссылка на dbf файлы , и кодировка от туда идет нормально
Вы наверно все таки работали через BDE а там нужно ставить
866 кодировку в настройках dbf файлов
пробуйте работать через ADO запросами , так будет проще, а запросы генерить можно в Access

(Может ли такое быть, что *.dbf могут редактировать по жизни
несколько юзеров, а *.db только один)
-- могут и еще как при редактировании 1 записи данная запись блокируется, при попытке обратится к данной записи будет ошибка,


(Как создать bd`шный алиас в ODBC для `98? Какие то библиотеки найти)

в ODBC нет алиасов есть настройка драйвера, и DSN -dBASE Files
MS Office переставте все настройки в ODBC поставятся автоматом

будет непонятно пишите




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
1-79395           greenrul              2002-02-08 21:01  2002.02.25  
Как исходники C++ Builder a перевести в Delphi?


4-79498           Woolen                2001-12-23 23:19  2002.02.25  
OpenGL API и double buffer


3-79287           natalka               2002-01-31 10:11  2002.02.25  
Помогите перевернуть запрос


7-79482           vshev                 2001-11-21 12:32  2002.02.25  
разрыв связи между модемами


14-79428          Havez                 2001-12-22 12:41  2002.02.25  
Проблема с принтером