Вниз
Скачать: CL | DM;

совместная работа с БД MS ACCESS двух приложений   Найти похожие ветки 

 
fatman ©   (2004-04-13 22:59) [0]

Доброго времени суток...
есть такая проблема у меня... Мне надо организовать мониторинг за состоянием определенной записи в БД ACCESS.. для чего я подключаюсь к ней посредством TDataBase и TTable... типа вот
object Database1: TDatabase
   DatabaseName = "BulkWeigh"
   DriverName = "MSACCESS"
   HandleShared = True
   LoginPrompt = False
   Params.Strings = (
     "PATH=C:\Program Files\MasterWeigh Millennium"
     
       "DATABASE NAME=C:\Program Files\MasterWeigh Millennium\IS Bulkweigh.mdb"
     "TRACE MODE=0"
     "LANGDRIVER=Access General"
     "USER NAME=admin"
     "PASSWORD="
     "OPEN/MODE=READ ONLY"
     "SQLPASSTHRU MODE=SHARED NOAUTOCOMMIT"
     "")
   ReadOnly = True
   SessionName = "Default"
   TransIsolation = tiDirtyRead
   Left = 216
   Top = 72
 end
 object Table1: TTable
   DatabaseName = "BulkWeigh"
   TableName = "tblUnitTrain"
   UpdateMode = upWhereChanged
   Left = 184
   Top = 72
 end

Все это потом по Var:=Table1.Fields[6].Value отлично работает. но скажу, что БД эта является рабочей базой другого приложения, к которому я не имею никакого отношения в плане программирования.. и при его запуске если мое приложение уже запущено, оно выдается варнинги про то, что БД уже открыта юзером админ на машине... и попробуйте мол попозжа, когда она освободится.. нажатие ОК и дальше все без проблем...
Подскажите кто нибудь, как подключаться к этой БД, чтобы исключить появление варнингов в другом приложении?
Заранее всем благодарен...


 
sniknik ©   (2004-04-13 23:34) [1]

если она там пытается отрыть базу монопольно или выполняет действие требуюшие такого ружима (например упаковка), то никак, скажи спасибо что хоть после работает (пропустив скорее всего то действие).

можно (без особой надежды) попробовать подключатся через ADO с режимом ридонли, стандартный аксесс драйвер в BDE устарел, в общем если это его проблемы (BDE) то поможет.


 
fatman ©   (2004-04-14 22:45) [2]

я вот сегодня испробовал все, и АДО, и InterBase... в аде писал и ридонли, и шара_денай_райт... ситуевина таже самая... Нашел такой выход:
Изначально моя прога запущена (ну, то сервис), но к базе не подключена... а по таймеру ищет среди окон (перебор дескрипторов) по известному классу окна главного приложения его родимого.. и вот если оно уже запущено, то только тогда идет подключение к базе (средствами адо, потому что тащить еще на ту машину, где оно работать будет бде не улыбается)... опросили состояние базы и отключились, до следующего тика таймером... вот так.. потому что опяты показали, что постзапуск моей проги к варнингам не приводит... вот такой вот изврат.... :))))  не судите строго.... если есть другие мысли, высказывайтесь...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
1-1082383062
killer
2004-04-19 17:57
2004.04.11
передача переменной TStringList из DLL


3-1081628970
LD
2004-04-11 00:29
2004.04.11
помогите с инфой


1-1082720979
WebErr
2004-04-23 15:49
2004.04.11
Father for Basic form


3-1079356480
TEXHAPb
2004-03-15 16:14
2004.04.11
Проблема с выполнением запросов в цикле


14-1082007907
BaDeVlad
2004-04-15 09:45
2004.04.11
Кто хочет протестировать блокнотик




   Наверх