Подключение к базе данных доступа через имя учетной записи и пароль - PullRequest
0 голосов
/ 09 мая 2009

Я пытаюсь использовать два разных способа подключения к базе данных для редактирования данных, объявление ниже работает:

Dim rsConn As ADODB.Connection

rsConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" _
& "Jet OLEDB:System Database=Security.mdw", "Ads", "1234")

но теперь я хочу сделать то же самое с приведенным ниже объявлением, но продолжаю получать сообщение «Недопустимое имя учетной записи или пароль.

Dim conn As OleDbConnection

conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" _
& "Jet OLEDB:System Database=Security.mdw;Database Account=Ads;Database Password=1234;")

Я почти уверен, что из-за этого ;Database Account=Ads;Database Password=1234; не правильно. Я попытался ;User ID=Ads;Database Password=1234;, а также чтобы оно выглядело как первое утверждение, но ни одно из них не сработало.

Если кто-нибудь может помочь. Спасибо

Ответы [ 5 ]

1 голос
/ 10 мая 2009

Я не знаю фактического ответа на вашу проблему, но могу указать, что здесь есть вероятность путаницы. Существует два различных типа «паролей» с Jet, пароль базы данных и пароль безопасности уровня пользователя Jet. В первом случае имя пользователя отсутствует (в базе данных для всех есть один пароль), а во втором - имя пользователя и пароль.

Jet ULS всегда действует, всегда. Установкой по умолчанию для Jet является имя пользователя «admin» без указания пароля. Если кто-то определил пароль для учетной записи администратора, вам необходимо предоставить его или использовать учетную запись, пароль которой вы знаете.

Наконец, информация Jet ULS хранится в файле рабочей группы, обычно называемом system.mdw, и вам может потребоваться указать это в строке подключения, если сохранены параметры безопасности для MDB, к которому вы пытаетесь получить доступ. в файле рабочей группы, отличном от того, который определен как системный файл по умолчанию для системы. Я не уверен, как ADO / OLEDB взаимодействует с настройками расположения рабочей группы по умолчанию в реестре, поэтому я бы посоветовал выяснить, каково имя параметра для него, и указать его явно во всех случаях.

1 голос
/ 09 мая 2009

Согласно connectionstrings.com , это правильная строка соединения для соединения Jet OLE DB 4.0 с именем пользователя и паролем:

Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C: \ mydatabase.mdb; Jet OLEDB: Системная база данных = system.mdw; Пользователь ID = MyUserName; Password = MyPassword;

0 голосов
/ 17 февраля 2013

Простой способ:

 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=myPassword
0 голосов
/ 09 мая 2009

Попробуйте использовать ключевые слова User ID и Password вместо Database Account и Database Password:

conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
         & Application.StartupPath & "\VFMS_DB.mdb;" & _
         "Jet OLEDB:System Database=Security.mdw;User ID=Ads;Password=1234;")

Это согласно примеру, который я нашел на connectionstrings.com .

0 голосов
/ 09 мая 2009

Вы пробовали с user id и просто password?

...