C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Эксклюзивное открытие базы Access, С использованием TADOConnection
Treumer
  Отправлено: 02.10.2003, 10:50


Станционный диспетчер

Группа: Участник
Сообщений: 92



Есть объект: TADOConnection *DB_Connect;

...
Далее подключается так:

wsprintf(buf,"Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=%s;"
"Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";"
"Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;"
"Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;"
"Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";"
"Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:SFP=False;"
"Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False",databasefile);

DB_Connect->ConnectionString=buf;
DB_Connect->Mode=cmReadWrite | cmShareDenyNone;
DB_Connect->Connected = true;
...

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

Но этого не происходит!
Что не так ?!
Treumer
Отправлено: 02.10.2003, 11:28


Станционный диспетчер

Группа: Участник
Сообщений: 92



Уточнение:
пробовал cmShareExclusive вместо cmShareDenyNone.
Не помогает.
Admin
Отправлено: 02.10.2003, 12:53


Владимир

Группа: Администратор
Сообщений: 1190



https://rxlib.ru/forums/index.php?ac...bdafa6f329259b9

Вернуться в Работа с базами данных в C++Builder