Enlaces de ayuda para programar Visual Basic y Sql Server en un Pocket PC 2003

Recientemente he terminado un desarrollo pequeño para la plataforma móvil, especificamente un Pocket PC 2003, HP iPaq, con un cliente hecho en Visual Basic .Net 2005 contra una base de datos Sql Server 2000.

El desarrollo fue interesante, hace algunos años había hecho algo básico, esto fué un poco más complicado. Entiendo que debe haber otras tantas personas igual que yo que buscan información respecto de esta plataforma, por eso listo a continuación los sitios web con los que poco a poco me ayude a desarrollar:

Data Points: Acceso a datos desde una aplicación móvil. Explica detalladamente el acceso desde una aplicación móvil a un origen de datos como SQL Server 2000. Con el NET Framework es sencillo y fácil
Programar con NET Compact FrameworkSección de la librería MSDN para programación en NET Compact.
Todo Pocket PC: Ayuda para conectar Pocket PC a SQL 2000
iPaq rx1950Un bloggero da su opinión respecto de un iPaq similar al que iba a implementar mi programa, y comparte conmigo la opinión sobre la facilidad para desarrollar aplicaciones con el NET Compact Framework.


Entradas Relacionadas:

Auditoría en Bases de Datos Sql Server

Estoy recibiendo algunas consultas a través del correo electrónico, y trato de responder lo mejor posible, a pesar que prefiero que dejen un comentario en uno de mis blogs y otra cosa es que no me apuren, los deseos de ayudar son grandes, pero no el tiempo, que siempre queda chico, este mes de Marzo ha sido muy ocupado y he descuidado mis blogs, dandome cuenta que he disminuido la cantidad de entradas, cuando mi intención era aumentarlas. Pero hoy día trataré de responder a una interesante consulta hecha por un lector, que pregunta cual sería la estructura de una tabla de auditoría para una base de datos.

La primera forma: Añadir campos a una tabla



El modo más simple de auditar una tabla es registrando cada cambio fila por fila, sin embargo también es la menos recomendable. Se basa en añadir uno o dos campos testigos que registren la fecha en que se realizen cambios y el usuario que los efectúe, sin embargo cambios en cada columna no son registrados ni auditados, sólo se registra el último usuario que haya hecho un cambio. Por ejemplo si Pilar hace un cambio en la columna "Precio" y luego Juan cambia el valor de la columna "Cantidad" sólo quedará registrado que Juan hizo un cambio. Este tipo de auditoría es algo ingenua pero que puede servir en algunos casos.

Una segunda forma: Triggers y Tablas Espejo


Sql Server tiene en los triggers (desencadenadores o disparadores) una ayuda para llevar a cabo registros de auditoría. Esta forma tiene el siguiente procedimiento:
1. Crear una tabla espejo con los mismo campos que la tabla auditada pero con campos adicionales, como el usuario que haya hecho el cambio, la fecha y la operación realizada que puede ser fila agregada, fila modificada o fila eliminada.
2.Añadir triggers INSERT, UPDATE y DELETE a la tabla origen, de modo que al efectuarse cualquiera de las operaciones indicadas, grabe el mismo registro en la tabla de auditoría, incluyendo los campos de auditoría (usuario,fecha,tipo de operacion).
Esta forma de auditoría, si bien es mejor que la anterior ya que registra cada cambio realizado y almacena un historial completo para cada fila, impone una sobrecarga de operaciones por cada fila, ya que se vuelve a registrar la misma fila con datos adicionales en caso sea insertada, actualizada o eliminada. Y a la vez aumenta el espacio a ocupar.

Manejar datos de auditoría


El almacenar datos de auditoría ocupa una gran cantidad de espacio en disco duro, y manejar esa información se hace muy complicada, especialmente si se realiza con tablas espejo. Hay que saber manejar esa información, y auditar las tablas necesarias.
Una forma de manejarla es almacenando la información de auditoría en otra base de datos. Se crea una base de datos, y preferiblemente almacenarla en otra partición u otro disco duro si la actividad es intensa. Esto aumenta la complejidad de la auditoría, ya que hay que propocionar permisos a los usuarios para grabar información en la segunda base de datos. Se podría crear una vista en la base de datos auditada que muestre los datos en la base de datos de auditoría para darle un nivel de abstracción.

Archivamiento


Generar información de auditoría es un problema para el espacio, y generar mucha data es peor aún. Hay que diseñar un plan de archivamiento de esos datos, no tenerlo es lo peor que se puede hacer.
Un plan de archivamiento podría ser simplemente separar la base de datos de auditoría y crear una nueva. La desventaja sería el extraer información de la base de datos separada. Otra sería programar un script que extraiga o inserte la información, según sea el caso, y grabarla en cintas o cd. En cualquier caso la recuperación y volcado se hace manual y complica la tarea.

Conclusión


Generar data de auditoría en una base de datos es una ventaja y a la vez un problema ya que acarrea costos en espacio de almacenamiento y tiempo en manejarla. Pero aún así es necesaria en ciertas actividades, especialmente la financiera. Como recomendación, la auditoría debería realizarse a ciertas tablas de una base de datos y no a todas, ya que complicaría aún más el proceso de administración.

Arrays y Listas en Sql Server

El manejo de arrays (arreglos) y listas es complicado y generalmente hay problemas para muchos principiantes. En este artículo en inglés, por Erland Sommarskog, SQL Server MVP, proporciona una explicación excelente que incluye ejemplos indicado lo correcto y lo incorrecto que se realiza cuando se trabaja con arrays y listas.

Hay dos versiones:

Arrays y Listas en Sql Server 2000/7/6.x

Arrays y Listas en Sql Server 2005