Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Внизсовместная работа с БД 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 отлично работает. но скажу, что БД эта является рабочей базой другого приложения, к которому я не имею никакого отношения в плане программирования.. и при его запуске если мое приложение уже запущено, оно выдается варнинги про то, что БД уже открыта юзером админ на машине... и попробуйте мол попозжа, когда она освободится.. нажатие ОК и дальше все без проблем...
Подскажите кто нибудь, как подключаться к этой БД, чтобы исключить появление варнингов в другом приложении?
Заранее всем благодарен...
← →
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) то поможет.
← →
sniknik © (2004-04-13 23:34) [1]если она там пытается отрыть базу монопольно или выполняет действие требуюшие такого ружима (например упаковка), то никак, скажи спасибо что хоть после работает (пропустив скорее всего то действие).
можно (без особой надежды) попробовать подключатся через ADO с режимом ридонли, стандартный аксесс драйвер в BDE устарел, в общем если это его проблемы (BDE) то поможет.
← →
fatman © (2004-04-14 22:45) [2]я вот сегодня испробовал все, и АДО, и InterBase... в аде писал и ридонли, и шара_денай_райт... ситуевина таже самая... Нашел такой выход:
Изначально моя прога запущена (ну, то сервис), но к базе не подключена... а по таймеру ищет среди окон (перебор дескрипторов) по известному классу окна главного приложения его родимого.. и вот если оно уже запущено, то только тогда идет подключение к базе (средствами адо, потому что тащить еще на ту машину, где оно работать будет бде не улыбается)... опросили состояние базы и отключились, до следующего тика таймером... вот так.. потому что опяты показали, что постзапуск моей проги к варнингам не приводит... вот такой вот изврат.... :)))) не судите строго.... если есть другие мысли, высказывайтесь...
← →
fatman © (2004-04-14 22:45) [2]я вот сегодня испробовал все, и АДО, и InterBase... в аде писал и ридонли, и шара_денай_райт... ситуевина таже самая... Нашел такой выход:
Изначально моя прога запущена (ну, то сервис), но к базе не подключена... а по таймеру ищет среди окон (перебор дескрипторов) по известному классу окна главного приложения его родимого.. и вот если оно уже запущено, то только тогда идет подключение к базе (средствами адо, потому что тащить еще на ту машину, где оно работать будет бде не улыбается)... опросили состояние базы и отключились, до следующего тика таймером... вот так.. потому что опяты показали, что постзапуск моей проги к варнингам не приводит... вот такой вот изврат.... :)))) не судите строго.... если есть другие мысли, высказывайтесь...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.031 c