Подключение к базе данных Microsoft Access
Подключение к базе данных Microsoft Access с паролем, защищенной на уровне пользователей. Вскрытие пароля и учетных записей
База данных, защищенная на уровне пользователей, может также содержать пароль на открытие. Скопируйте файл базы BDwithUsers.mdb и назовите его "BDwithUsersP.mdb". Открываем новый файл в монопольном режиме от имени пользователя "Chingiz Kariev". В главном меню программы переходим "Сервис \ Защита \ Задать пароль базы данных". В появившемся окне вводим пароль "98765" и подтверждаем его. Теперь при повторном открытии от имени любого пользователя необходимо вначале проходить аутентификацию, а затем вводить пароль базы данных (рис. 3.39):
Базы данных BDwithUsers.mdb и BDwithUsersP.mdb используют один файл рабочей группы BDWorkFile.mdw. Просмотрев его содержимое при помощи программы Access Password, мы обнаружим, что его содержимое не изменилось (см. рис. 3.33). Этого и следовало ожидать - в файле рабочей группы хранятся сведения об учетных записях пользователей и группах, но не пароли самих баз данных. Для просмотра пароля базы открываем файл BDwithUsersP.mdb (рис. 3.40):
Создайте новое Windows-приложение и назовите его "Programm BDwithUsersP". На этот раз создадим подключение программным образом. Добавляем на форму элемент управления DataGrid, его свойству Dock устанавливаем значение "Fill". Подключаем пространство имен для работы с базой:
using System.Data.OleDb;
В классе формы создаем строки connectionString и commandText:
string connectionString = @"Provider=""Microsoft.Jet.OLEDB.4.0" ";Data Source=""D:\Uchebnik\Code\Glava2\BDwithUsersP.mdb" ";Jet OLEDB:System database=""D:\Uchebnik\Code\Glava2 \BDWorkFile.mdw"";User ID=Adonetuser;Password=12345; Jet OLEDB:Database Password=98765;"; string commandText = "SELECT * FROM Туристы";
Здесь мы добавили значения пароля "98765" в параметре "Jet OLEDB:Database Password". Подключение не будет зависеть от порядка передаваемых параметров, строка connectionString может выглядеть и так:
string connectionString = @"Jet OLEDB:Database Password=98765;Provider=""Microsoft.Jet.OLEDB.4.0""; Data Source=""D:\Uchebnik\Code\Glava2 \BDwithUsersP.mdb"";Password=12345;Jet OLEDB:System database=""D:\Uchebnik\Code\Glava2\BDWorkFile.mdw" ";User ID=Adonetuser;";
Тем не менее следует придерживаться последовательного расположения параметров для более удобного чтения кода. В конструкторе формы создаем все объекты ADO .NET:
public Form1() { InitializeComponent(); OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = connectionString; OleDbDataAdapter dataAdapter = new OleDbDataAdapter(commandText, conn); DataSet ds = new DataSet(); dataAdapter.Fill(ds); dataGrid1.DataSource = ds.Tables[0].DefaultView; conn.Close(); }
В программном обеспечении к курсу вы найдете приложение Programm BDwithUsersP (Code\Glava2\ ProgrammBDwithUsersP).