Download password

Document related concepts
no text concepts found
Transcript
TECNOLOGÍA
IDC
Internet Database Connector
Trinitario Gómez López
INDICE
Introducción
 ¿Qué necesito?
 ¿Cómo funciona?
– Ejemplos de IDC
 Formatos de archivos .idc
 Formatos en archivos .htx

– VARIABLES INTEGRADAS
Introducción
Internet Database Connector (IDC) es un componente
integral de Microsoft Internet Information Server.
Mediante IDC se puede crear páginas web
dinámicas, permitiendo la integración del contenido
de una base de datos dentro de un pagina web.
IDC permite:
 Consultar una base de datos y mostrar el resultado
en una pagina web
 Actualizar o insertar datos nuevos en una base de
datos a partir de los datos introducidos por el usuario
en un formulario
 Eliminar registros en una base de datos según el
usuario haya seleccionado en una página web
¿Qué necesito?
Un editor de texto como Bloc de notas
de Windows o joe de Linux
 Un servidor web que acepte IDC como
Microsoft Internet Information Server
 Un sistema de gestor de bases de
datos y el controlador ODBC
 Un navegador

¿Cómo funciona?
1.
2.
3.
4.
El navegador envía la dirección URL al
servidor IIS
IIS carga httpodbc.dll y le suministra la
información restante de la dirección URL.
(Los archivos .idc se asigna a httpodbc.dll.
Éste se carga y obtiene el nombre del
archivo IDC del URL.)
Httpodbc.dll lee el archivo del IDC
El IDC conecta con el origen de datos
ODBC y ejecuta la instrucción SQL
contenida en el archivo .idc
El IDC recopila los datos de la base de
datos y los envía en el archivo de extensión
HTML.
Tras la ejecución de la instrucción SQL, IDC
lee el archivo de plantilla especificado en
ejemplo.idc (ejemplo.htx). Los archivos .htx
contienen etiquetas especiales de HTML
utilizadas por IDC para controlar dónde y
cómo se combinan los datos devueltos por
la instalación SQL.
6. EL IDC devuelve el documento combinado
a IIS que, a su vez, lo devuelve al cliente.
5.
Formatos de archivos .idc
IDC reconoce tres campos requeridos y otros diez opcionales.
Campos obligatorios:
Datasource: Nombre del origen de datos (DNS) que hemos
creado previamente en el administrador de
ODBC para acceder a la base de datos.
Tamplate: Nombre de extensión de HTML que da formato a
los datos devueltos por la consulta.
SQLStatement: Instrucciones SQL que se desea ejecutar.
Campo opcionales:
Content-Type: Tipo MIME válido que describe lo que se va a
devolver al cliente. Casi siempre será
text/html si el archivo .htx contiene HTML.
DefaultParameters: Asigna valor a aquellos parámetros
que el usuario no haya asignado
valor.
DefaultParameters = param=value
Expires: Número de segundos de espera antes de
refrescar una página. Si se vuelve a hacer
una petición de datos que es igual que la
anterior se usan los datos del caché sin
necesidad de usar una página nueva.
MaxFieldSiza: Tamaño máximo a cada campo
devuelto por una base de datos.
MaxRecords: Número máximo de registros que se
devuelve desde cualquier consulta.
ODBCConnection: Permite indicar si se desea agregar
la conexión al conjunto de
conexiones que se mantienen para
futuras consultas (Pool) o no
(NoPool).
Username: Nombre de usuario empleado para
conectarse a la base de datos. Se emplea
junto con el campo Password.
Si se usa Microsoft SQL Server con la
opción integrada de seguridad, los campos
del usuario y password del archivo .idc son
ignorados.
Password: Contraseña necesaria para el nombre de
usuario empleado para conectarse a la base
de datos. Se emplea junto con el campo
Username.
RequiredParameters: El nombre de los parámetros,
si existen, que Httpodbc.dll
debe asegurar que se pasan
desde el cliente; de otra
forma, devolverá un error.
Los nombres de los
parámetros se separan con
comas.
Translationfile: Ruta del archivo que asigna
caracteres no ingleses ( como ñ, à,
ô, é ) de forma que los navegadores
puedan presentarlos correctamente
en formato HTML.
Formatos en archivos .htx
Este tipo de archivo viene a ser una plantilla que
incorpora una serie de órdenes que permite
construir el documento HTML.
Estas órdenes son: <%begindetail%>,
<%enddetail%>, <%if%>, <%else%> , <%endif%>
y “%z”)
Las ordenes <%begindetail%> y <%enddetail%>
enmarcan una sección del archivo .htx en la que
se van a combinar datos procedentes una base de
datos, los nombres de las columnas van
encerradas entre <%.......%> o <!--%.......%--> . Si
la consulta no devuelve registros, se saltara la
sección <%enddetail%>.
La palabras claves <%if....then....else....%> se
utilizan para controlar cómo se genera la página.
Un ejemplo:
<%if condición %>
texto HTML
[<%else%>
texto HTML]
<%endif%>
Donde condición es de la forma: valor1 operador
valor2 y los operador pueden ser de la siguiente
forma:
EQ si el valor1 es igual a valor2.
LT si valor1 es menor que valor2.
GT si valor1 es mayor que valor2.
CONTAINS si cualquier parte de valor1 contiene a
la cadena valor2.
Los nombres de valor1 y valor2 pueden ser:
Nombres de columnas
Una de las variables predefinidas
Una nombre de variable HTTP
Una constante
Ejemplo1. Prueba1.idc
Datasource: prueba1
Template: prueba1.htx
SQLStatemenet: Select * From Articulos
Ejemplo1. Prueba1.htx
<HTML>
<BODY>
<HR>
<%begindetail%>
Codigo: <B><%Codigo%></B><BR>
Descripcion: <I><%Descripcion%></I><BR>
<HR>
<%enddetail%>
</BODY>
</HTML>
Nótese que la variable es encerrada entre los caracteres
%% para distinguirla de un identificador normal de SQL
Ejemplo2. Prueba2.html
<HTML>
<BODY>
<CENTER>
<FORM ACTION=“prueba.idc” METHOD=“POST”>
Acceso a la parte privada:
<BR><BR>
<TABLE BORDER=“0”>
<TR>
<TD>Usuario: </TD>
<TD><INPUT TYPE=“TEXT” NAME=“nombre”></TD>
</TR>
<TR>
<TD>Clave: </TD>
<TD><INPUT TYPE=“PASSWORD” NAME=“contra”></TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD ALIGN=“CEBTER”>
<INPUT TYPE”=SUBMIT” VALUE=“Entrar”>
<INPUT TYPE=“RESET” VALUE=“Borrar”>
</TD>
</TR>
</TABLE>
</FROM>
</CENTER>
</BODY>
</HTML>
Prueba2.idc
Datasource: prueba
Template: prueba.htx
SQLStatement: Select * From Usuarios
+Where Nombre = ‘%nombre%’ And Contraseña =
‘%contra%’
Prueba2.htx
<HTML>
<BODY>
<CENTER>
<%begindetail%>
<%enddetail%>
<%if CurrentRecord EQ 0%>
<FONT SIZE=“4” COLOR=“red”>Acceso no permitido</FONT>
<%else%>
<FONT SIZE=“4 COLOR=“blue”>Acceso permitido</FONT>
<BR>
Menú principal de la aplicación.....
<%endif%>
</CENTER>
</BODY>
</HTML>
Variables integradas
Existen dos tipos de variables integradas que se pueden
emplear en las páginas .htx: CurrentRecord y
MaxRecords.
La variable CurrentRecord contiene el numero de veces que
se ha procesado la sección <%begindetail%> , es decir, la
primera vez que se pasa por la sección <%begindetail%>
el valor es cero, después se incrementa por cada registro
devuelto por la base de datos.
La variable MaxRecords recoge el números máximo de
registros.
La variables integradas solo se pueden utilizar con la
instrucción <%if....then....else....%>
DUDAS?