Hace un momento me preguntaba un amigo que si habia manera de implementar un GROUP BY sobre los registros contenidos por un DataTable y honestamente no supe que contestar, se que se puede aplicar un flitro y algunas expresiones SQL pero la verdad nunca he intentado hacer un GROUP BY, asi que me di a la tarea de investigar un poco mas y llegue hasta esta pagina donde te guian para crear una clase adicional que se encargue de proveer la funcionalidad que hace falta al DataTable para realizar el agrupamiento de datos... interesante, lo que aprende uno.
viernes, agosto 25, 2006
jueves, agosto 24, 2006
Mas diversion con Windows 2003
Si tienes una aplicacion ASP 3.0 (o sease: clasico, viejito.. etc) y quieres instalarla en Windows 2003 Server, aqui te van unos tips.
Tambien tienes que considerar que si utilizas includes en tu aplicacion, segun este articulo el archivo referenciado en el include no puede estar en un directorio "arriba" del de la pagina actual.
miércoles, agosto 23, 2006
Dependencias de un Stored Procedure
Despues de darle muchas vueltas decidi que si no hay forma infalible y 100% exacta de obtener esta informacion entonces trataria de acercarme lo mas posible, dado que tenia alrededor de unos 50 Stored procedures y 335 tablas, se imaginaran la "talachita" que iba a ser obtener esos datos abriendo cada uno de los SP's y analizando el codigo.Y esta fue la solucion con la que al final me quede...
/**1. Primero hay que declarar una variable del tipo tabla con 3 columnas que me sirvan para conocer mas de los objetos encontrados **/
/**2. Declarar unas variables mas para almacenar el nombre de mi tabla y el identificador que SQL le asigna a la tabla**/
/**3. Obtener el identificador de la tabla**/ SET @objname = 'TablaClientes' /**4. Insertar en la variable tabla los datos que correspondan a los Stored Procedures que en su codigo incluyan el nombre de la tabla que ando buscando**/ INSERT INTO @info(tableName, owner, oName) /**5 . Realizar la consulta sobre la variable de tabla**/ SELECT * FROM @info |
Con el script anterior, puedo consultar los Stored Procedures que mencionan una tabla, pero aun asi, tengo 335 tablas!!! SIN contar los que pudieran estar referenciando a alguna vista... y ahora quien podra defenderme? ... CODESMITH!!!
Total que he creado tambien una plantilla donde puedo barrer las 335 tablas + 50 Vistas (aprox) y generar el script que al final me dara la informacion que ando buscando... asi que si bien este metodo no es 100% exacto, si me saca de este apuro.
Ventajas
- Estoy directamente buscando las referencias por medio del codigo del stored procedure
- En casos como el que platico, donde tengo mas de 10 tablas hacer esto "a pie" es una lata
- Es extremadamente rapido
Y las desventajas...
- El barrido que hace del codigo del Stored Procedure, no distingue entre comentarios y codigo "vivo"
- Las tablas y vistas deben pertenecer a la misma base de datos de los stored procedures
- Estoy usando LIKE para hacer las busquedas asi que si una tabla se llama "tblCliente" y otra "tblClienteResultado"... se imaginaran que si un SP esta utilizando "tblClienteResultado" tambien me aparecera como referencia "fantasma" la tabla "tblCliente"
Pero hey... que querias en tan poco tiempo.
miércoles, agosto 16, 2006
Migrando Aplicaciones Web a IIS 6.0
Antes con IIS 5, si teniamos digamos unos 20 sitios y necesitabamos cambiarnos de servidor, lo unico que habia que hacer era respaldar la configuracion del servidor origen a un archivo y ese archivo restaurarlo en el servidor destino, bueno pues el caso es que si lo que quieres es cambiar de IIS 5 a IIS6, el archivo ya no es compatible... y ahora quien podra defendernos? bueno pues hay una herramienta de migracion que puedes descargar en :
http://www.microsoft.com/downloads/details.aspx?FamilyID=2aefc3e4-ce97-4f25-ace6-127f933a6cd2&displaylang=en#QuickInfoContainer
Que te servira para copiar la configuracion Y los sitios de una forma mucho mas practica, altamente recomendable para el caso en que tengas mas sitios de los que quisieras configurar "a pie". Tambien puedes hacer un .bat que migre todos de un jalon.
lunes, agosto 14, 2006
Y con ustedes... ATLAS!
Este es mi primer screencast, aqui hay 2 ejemplos sencillos de como utilizar los controles de Atlas: Update panel y Timer para mejorar bastante la experiencia del usuario en nuestras aplicaciones web... diganle adios al postback.
Espero sus comentarios... y sugerencias.
Abrir screencast / Descargar version Flash (3.5 MB) / Descargar version avi (15.2 MB)
Adios CS!
Debo comentar y aclarar que a pesar de lo que hace algunos dias dije, al parecer Crystal Reports ya se logro... si, acabo de terminar una aplicacion en winforms donde utilizo CR XI release 2 y debo decir que la instalacion esta super sencilla, el reporte se porta bien.. en fin todo lo que siempre quize y nunca tuve por parte de CR.
Creo que el siguiente screencast se lo dedicare a CR como penitencia por haberme quejado tanto de el.