В этой статье используется инкапсулированный DLL -код ASP, сгенерированный VB для подключения к базе данных (в качестве примера, принимая базу данных Access).
Вообще говоря, когда мы используем ASP для подключения к базам данных доступа, мы обычно выполняем следующие операции.
'//Proconn.asp
<%
DimProconn
setProconn = server.createObject ("adodb.connection")
Proconn.open "Driver = {microsoft accessdriver (*. Mdb)}; uid =; pwd = 123; dbq =" & server.mappath ("db.asp")
'Файл с суффиксом db.asp, который был первоначально db.mdb, измененный на db.asp, пароль базы данных 123
iferr.number <> 0then
Response.write "В базе данных нет подключения, пожалуйста, проверьте"
Response.end
еще
Response.write "Ссылка базы данных успешно"
Response.end
эндиф
%>
Если сервер настроен, доступ к Proconn.asp. Если подключение к базе данных будет успешным, вывод будет «подключение к базе данных успешно».
Тем не менее, уровень безопасности такого как код ASP очень низкий. Если этот оригинал ASP видна, то с помощью этого файла базы данных другие могут легко
Откройте базу данных для работы.
Итак, наша задача здесь, как инкапсулировать этот ключевой контент?
Во -первых, нам нужно определить методы и объекты.
После проверки некоторой информации в Интернете они в основном используют VB для генерации DLL для их инкапсуляции. Таким образом, мы также должны принять этот метод (хотя я еще не использовал VB)
Метод определяется, так какие объекты нам нужны для инкапсуляции?
Приходи и посмотри на всех
"Driver = {Microsoft AccessDriver (*. MDB)}; uid =; pwd = 123; dbq =" & server.mappath ("db.asp")
Это самый важный код. Этот код должен быть лучше инкапсулирован в DLL, сгенерированный с VB.
Причина, почему бы не поставить все
DimProconn
setProconn = server.createObject ("adodb.connection")
Proconn.open "Driver = {microsoft accessdriver (*. Mdb)}; uid =; pwd = 123; dbq =" & server.mappath ("db.asp")
Все инкапсулированы (потому что говорят, что весь код соединения инкапсулирован), потому что, когда другие файлы ASP относятся к ProConn.asp,
Мне также нужен ProConn внутри, чтобы выполнять другие операции, и, если они инкапсулируют, это неудобно для ссылки и работы.
(Причина приведенного выше объяснения объекта инкапсуляции является мое личное мнение. Некоторые друзья сказали, что общая инкапсуляция не влияет на использование ProConn. Я не понимаю этого, пожалуйста, скажите мне, если вы это знаете)
Я хочу только инкапсулировать наиболее важную часть "" Driver = {Microsoft AccessDriver (*. MDB)}; uid =; Pwd = 123; dbq = "& server.mappath (" db.asp ")"
Проанализируйте контент, который должен быть инкапсулирован.
Первая половина этого - строка:
"Driver = {Microsoft AccessDriver (*. MDB)}; uid =; pwd = 123; dbq ="
Используйте и подключите другую строку во второй половине.
Другая строка во второй половине - возвращаемое значение функции объекта Server.mappath.
Ниже приведен процесс работы этого пакета.
первый
Создайте новый проект ActiveXDLL в соответствии с VB, измените название Project Project1 на condbdll ?? Название метода класс1 изменяется на CS