Опубликован: 05.08.2007 | Доступ: свободный | Студентов: 2201 / 83 | Оценка: 4.47 / 4.09 | Длительность: 20:11:00
ISBN: 978-5-9556-0097-0
Лекция 3:

Подключение к базе данных Microsoft Access

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Подключение к базе данных Microsoft Access с паролем, защищенной на уровне пользователей. Вскрытие пароля и учетных записей

База данных, защищенная на уровне пользователей, может также содержать пароль на открытие. Скопируйте файл базы BDwithUsers.mdb и назовите его "BDwithUsersP.mdb". Открываем новый файл в монопольном режиме от имени пользователя "Chingiz Kariev". В главном меню программы переходим "Сервис \ Защита \ Задать пароль базы данных". В появившемся окне вводим пароль "98765" и подтверждаем его. Теперь при повторном открытии от имени любого пользователя необходимо вначале проходить аутентификацию, а затем вводить пароль базы данных (рис. 3.39):

 Аутентификация и ввод пароля на открытие базы

Рис. 3.39. Аутентификация и ввод пароля на открытие базы

Базы данных BDwithUsers.mdb и BDwithUsersP.mdb используют один файл рабочей группы BDWorkFile.mdw. Просмотрев его содержимое при помощи программы Access Password, мы обнаружим, что его содержимое не изменилось (см. рис. 3.33). Этого и следовало ожидать - в файле рабочей группы хранятся сведения об учетных записях пользователей и группах, но не пароли самих баз данных. Для просмотра пароля базы открываем файл BDwithUsersP.mdb (рис. 3.40):

 Просмотр файла BDwithUsersP.mdb

увеличить изображение
Рис. 3.40. Просмотр файла BDwithUsersP.mdb

Создайте новое 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).

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >