View
19
Download
0
Category
Preview:
Citation preview
Trinitario Gómez López
TECNOLOGÍA
IDC
Internet Database Connector
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. El navegador envía la dirección URL al servidor IIS2. 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.)
3. Httpodbc.dll lee el archivo del IDC4. El IDC conecta con el origen de datos ODBC y
ejecuta la instrucción SQL contenida en el archivo .idc
5. 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.
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> </TD><TD ALIGN=“CEBTER”>
<INPUT TYPE”=SUBMIT” VALUE=“Entrar”><INPUT TYPE=“RESET” VALUE=“Borrar”>
</TD></TR></TABLE></FROM></CENTER></BODY></HTML>
Prueba2.idcDatasource: 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 integradasExisten 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?
Recommended