Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Разработка корпоративных приложений в Access 2002 - Литвин П.

Литвин П. Разработка корпоративных приложений в Access 2002 — Спб.: Питер, 2002. — 848 c.
ISBN 5-314-00181-0
Скачать (прямая ссылка): razrabotkaprilojeniy2002.djvu
Предыдущая << 1 .. 87 88 89 90 91 92 < 93 > 94 95 96 97 98 99 .. 357 >> Следующая

Provider-SQL0LEDB.1;Password-mud;
User ICbSuzanneilnitial Catalog-ADH2002SQL;
Data Source-Oocal);Use Procedure for Prepare-1;
Auto Translate-True;Packet Size-4096;
Workstation ID-IGUANA;Use Encryption for Data-False;
Tag with column collation when possible-False
Это, конечно, никуда не годится, но получившуюся пробоину в защите легко заделать, присвоив свойству Persist Security Info значение False. Именно так мы поступили в процедуре Connect6:
Sub Connect6()
01m cnn As ADODB.Connection
Set cnn - New ADODB.Connection
With cnn
.Provider - "SQLOLEDB"
.PropertiesCData Source") - "Gorilla"
.Propert1es("Initial Catalog") - "ADH2002SQL"
.PropertiesC'User Id") - "Suzanne"
.PropertiesC'Password") - "mud"
.PropertiesCPersist Security Info") - False .Open
226
Глава б • Использование ActiveX Data Objects с серверными данными
End With
Debug.Print cnn.ConnectionString
cnn.Close Set cnn - Nothing End Sub
На этот раз свойство Connecti onString объекта Connection не будет содержать пароля:
Provider-SQLOLEDB.1;Persist Security Info-False:
User ID-Suzanne:Initial Catalog-ADH2002SQL:
Data Source-(local):Use Procedure for Prepare-1;
Auto Translate-True;Packet Size-4096:
Workstation ID-IGUANA;Use Encryption for Data-False:
Tag with column collation when possible-False
СОВЕТ
Работая с защищенными серверами без интегрированной защиты, всегда устанавливайте свойство ConnectionString объекта Connection в значение False. В случае интегрированной защиты это делать необязательно. За более подробной информацией о защите SQL Server обращайтесь к главе 8.
Обращение к пользователю
С помощью свойства Prompt можно указать, должен ли поставщик данных запрашивать у пользователя его идентификатор, пароль и другую необходимую для подключения информацию. В табл. 6.2 перечислены значения, которые можно присваивать этому свойству. По умолчанию оно получает значение adhPromptNever.
Таблица 6.2. Значения свойства Prompt объекта Connection
Константа Описание
adPromptAlwals Всегда запрашивать у пользователя информацию для подключения,
даже если программа предоставила полные сведения adPromptComplete Запрашивать только в том случае, если нужна дополнительная ин
формация
adPromptCompleteRequlred Запрашивать необходимую информацию, но не необязательную adPromptNever Никогда не запрашивать информацию у пользователя; если инфор
мации недостаточно, просто генерировать ошибку (значение по умолчанию)
Процедура Connect7 из модуля basConnection демонстрирует подключение к базе данных SQL Server с выводом диалогового окна.
Sub Connect7()
Dim cnn As ADODB.Connect!on
Set cnn - New ADODB.Connection
With cnn
.Provider - "SQLOLEDB"
.PropertiesC'Data Source") - "Gorilla"
.Properties("In1t1al Catalog") - "ADH2002SQL"
.Properties("Prompt") - adPromptAlways .PropertlesC'Perslst Security Info") - False
Создание подключений
227
.Open End With
cnn.Close Set cnn - Nothing End Sub
Выводимое этой процедурой диалоговое окно показано на рис. 6.2.
jpsewr [(local) ~ ?jj|
*?П$и":Т|"^СопгеЙ"пч1;^^
Login ID "' ;:|Paul " ~ "
^РвичокГ ~ J _ J 1 Opiiiyji>^
Рис. 6.2. Диалоговое окно SQL Server Login
Местоположение курсора
С помощью свойства CursorLocation объекта Connection можно указать ADO, где она должна создавать курсоры для наборов записей. По умолчанию для большинства поставщиков данных, включая и SQL Server, ADO применяет серверные курсоры (adUseServer). Но для того чтобы использовать некоторые возможности ADO, такие, например, как работа со свойством Recordset форм проектов Access, требуются клиентские курсоры. Подключение с клиентским курсором создается так:
Dim cnnClient As ADODB.Connection Set cnnClient - New ADODB.Connection cnnClient.CursorLocation - adUseCHent
СОВЕТ
Как правило, серверные курсоры являются более эффективными. Поэтому клиентский курсор имеет смысл создавать только в том случае, когда вам необходим именно он.
Использование свойства CurrentProjectConnection
Поскольку при открытии проекта Access автоматически создает и поддерживает подключение к SQL Server, объект этого подключения всегда в вашем распоряжении. Для доступа к нему используется свойство Connection объекта CurrentProject:
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection
К примеру, процедура UseCurrentProjectCnn из модуля basADPConnection проекта CH06B.ADP использует подключение объекта CurrentProject для создания простейшего набора записей:
Sub UseCurrentProjectCnnt)
Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset
228
Глава б • Использование ActiveX Data Objects с серверными данными
Set cnn - CurrentProject.Connection Set rst - New ADODB.Recordset
rst.Open "SELECT LastName FROM tbICustomer", cnn Do While Not rst.EDF
Debug.Print rstlLastName rst.MoveNext
Loop
rst.Close Set rst - Nothing Set cnn - Nothing End Sub
ПРИМЕЧАНИЕ
По умолчанию при использовании аутентификации SQL Server проекты Access автоматически сохраняют между сеансами идентификатор пользователя и пароль. В большинстве случаев это ослабляет защиту SQL Server, но у вас есть возможность изменить поведение Access. Для этого на вкладке All диалогового окна Connection (вызываемого посредством команды Connection из меню File) необходимо для свойства Persist Security Info установить значение False.
Предыдущая << 1 .. 87 88 89 90 91 92 < 93 > 94 95 96 97 98 99 .. 357 >> Следующая