Este artículo utiliza el código ASP encapsulado DLL generado por VB para conectarse a la base de datos (tomando la base de datos de acceso como ejemplo).
En términos generales, cuando usamos ASP para conectarnos para acceder a las bases de datos, generalmente realizamos las siguientes operaciones.
'//Proconn.asp
<%
diproconn
setProconn = server.createObject ("ADODB.Connection")
Proconn.open "controlador = {Microsoft AccessDriver (*. Mdb)}; uid =; pwd = 123; dbq =" & server.mappath ("db.asp")
'Un archivo con el sufijo db.asp que originalmente fue db.mdb cambiado a db.asp, la contraseña de la base de datos 123
iferr.number <> 0then
Response.write "La base de datos no tiene conexión, verifique"
Respuesta.
demás
Response.WRITE "Link de base de datos con éxito"
Respuesta.
endif
%>
Si el servidor está configurado, acceda a proconn.asp. Si la conexión de la base de datos es exitosa, la salida será "conexión de base de datos exitosa".
Sin embargo, el nivel de seguridad del código ASP es muy bajo. Si se ve este original ASP, entonces con este archivo de base de datos, otros pueden fácilmente
Abra su base de datos para la operación.
Entonces, nuestra tarea está aquí, ¿cómo encapsular este contenido clave?
Primero, necesitamos determinar los métodos y objetos.
Después de verificar alguna información en Internet, utilizan principalmente VB para generar DLL para encapsularlos. Por lo tanto, también debemos adoptar este método (aunque todavía no he usado VB)
El método se determina, entonces, ¿cuáles son los objetos que necesitamos para encapsular?
Ven a ver a todos
"Driver = {Microsoft AccessDriver (*. Mdb)}; uid =; pwd = 123; dbq =" & server.mappath ("db.asp")
Es el código más crítico. Este código debería estar mejor encapsulado en una DLL generada con VB.
La razón por la cual no poner todo
diproconn
setProconn = server.createObject ("ADODB.Connection")
Proconn.open "controlador = {Microsoft AccessDriver (*. Mdb)}; uid =; pwd = 123; dbq =" & server.mappath ("db.asp")
Todos están encapsulados (porque se dice que todo el código de conexión está encapsulado) se debe a que cuando otros archivos ASP se refieren a Proconn.asp,
También necesito la proconn en el interior para hacer otras operaciones, y si está encapsulada, es inconveniente hacer referencia y operar.
(La razón de la explicación anterior del objeto de encapsulación es mi opinión personal. Algunos amigos dijeron que la encapsulación general no tiene ningún efecto en el uso de Proconn. No entiendo esto, por favor dígame si lo sabe)
Solo quiero encapsular la parte más crítica "" Driver = {Microsoft AccessDriver (*. Mdb)}; uid =; pwd = 123; dbq = "& server.mappath (" db.asp ")"
Analice el contenido para estar encapsulado.
La primera mitad es una cadena:
"Driver = {Microsoft AccessDriver (*. Mdb)}; uid =; pwd = 123; dbq ="
Use y para conectar otra cadena en la segunda mitad.
Otra cadena en la segunda mitad es el valor de retorno de la función del objeto Servidor.
El siguiente es el proceso de operación de este paquete.
primero
Cree un nuevo proyecto ActiveXDLL en VB, cambie el nombre del proyecto Project1 a Condbdll? El nombre del método clase1 se cambia a CS