Строка подключения access - глюки.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Строка подключения access - глюки.

Сообщение Antonariy » 30.08.2005 (Вт) 11:58

Всегда подключался так:
cn.Open "driver={Microsoft access driver (*.mdb)};Extended Properties=""DBQ=" & App.Path & "\Universys.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"""

Под администратором все в порядке, а под пользователем с огдраниченными правами ругается на невозможность открыть какую-то ветку реестра.

Может есть какой-нибудь более другой способ установить соединение без dsn? Использую ADO 2.8
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.08.2005 (Вт) 12:06

А зачем тебе ODBC? Чем не нравиться OLEDB?
Код: Выделить всё
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Properties("Data Source") = "C:\db1.mdb"
cnn.Properties("User Id") = "admin"
cnn.Properties("Password") = "pwd987"
cnn.Properties("Jet OLEDB:Database Password") = "my_pwd_123"
cnn.Properties("Jet OLEDB:System Database") = "C:\db1.mdw"
cnn.Open
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 12:18

А зачем тебе ODBC? Чем не нравиться OLEDB?

Так уж сложилось..

Вопросы:
1. База запаролена. Какой из этих двух паролей нужен и нафига второй?
2. Как создать mdw?
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.08.2005 (Вт) 12:39

1 первый пароль - это когда просто запаролена база, второй, если через свою mdw
2 mdw создается специальной тулзой в составе офиса что-то типа администратор рабочих групп акцесс или тому подобное (в 2003-м он из меню защита кажется вызывается).

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 13:07

Спасибо, разобрался.
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 13:47

А без mde нельзя?
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.08.2005 (Вт) 13:48

Да можно, конечно. Не указывай MDW и все.
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 14:39

Пробовал так:
Код: Выделить всё
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.Properties("Data Source") = App.Path & "\Universys.mdb"
    cn.Properties("Password") = "pass"
    cn.Open


пишет "Сисемная база данных отсутствует или открыта с монопольным доступом другим пользователем".
Перед этим mdw удалил, восстановил старую базу.
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 14:42

Если снять пароль, то работает.
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.08.2005 (Вт) 14:42

может у тебя эта база в акцессе открыта в монопольном режиме? или ты забыл обратно присоединиться к system.mdw

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 14:44

2 Konst_One
А без mde нельзя?

Да можно, конечно. Не указывай MDW и все.
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 30.08.2005 (Вт) 14:44

тогда попробуй вот это:

Код: Выделить всё
cn.Properties("Jet OLEDB:Database Password") ="pass"

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2005 (Вт) 14:45

2 Konst_One

Сработало! Спасибо.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 128

    TopList