|
|
|
| Проблем такова.
Есть сетевой диск на нем лежит база данных (mdb). У юзеров клиентские части (mdb). Доступ к диску по учетке и паролю.
как можно в VB задать логин и пароль к диску если юзер не подключен к нему, т.е. подменить его учетку и пароль на мои. попробовал в строке прописать
con.ConnectionString = "Provider=MSDataShape;Data Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Ad-dns-01\sklad\Baza.mdb;User Id=МОЯ_УЧЕТКА;Password=МОЙ_ПАРОЛЬ;"
- но пишет Рантайм еррор '-2147217843' - Не удается запустить приложение. Системная база данных отсутсвует или открыта с монопольным доступом другим пользователем
Если с моей учетки проблем нет. Пробовал при моей учетке воткнуть неправильный пароль - тоже рантайм еррор - типа работает, но только в одну сторону - если совпадает учетка юзера и учетка подключения. А как сделать чтобы при несовпадении работало????
Хочется чтобы юзеры имели доступ к файлу только через программу, а физически не могли лапками добраться туда. | |
|
| |
|
|
|
| а если просто установить terminal - и всех туда, в виртуалку. | |
|
| |
|
|
|
|
| для того что бы пользователь мог использовать базу у него должен быть доступ к диску, коннекшен стринг здесь не причем, это все на уровне системы.
User Id= и password в коннекшен стринг относятся не к диску а к БД.
если у пользователя нет прав к \\Ad-dns-01\sklad\Baza.mdb, то он не может подключиться к базе.
МОжно использовать net.exe use для маппирования диска.
НО, IMHO, концепция в принципе не верна. Если пользователь должен работать с базой ему нужно просто дать нужные права на сетевую папку. Какая разница под какой учеткой он получит доступ? В общем не вижу смысла | |
|
| |
|
|
|
|
| опробовал так call shell ("explorer \\Ad-dns-01\",1) |
help по net.exe | |
|
| |