Calendario del Blog
Estadísticas de visitantes








Archivo de Blog
- August 2010 (7)
- July 2010 (4)
- June 2010 (1)
- May 2010 (3)
- February 2010 (1)
- January 2010 (2)
- October 2009 (3)
- September 2009 (2)
- July 2009 (1)
- June 2009 (1)
- May 2009 (1)
- April 2009 (1)
- March 2009 (1)
- January 2008 (1)
- November 2007 (3)
- March 2007 (3)
- February 2007 (1)
- January 2007 (1)
- December 2006 (6)
- November 2006 (3)
- October 2006 (3)
- September 2006 (9)
- August 2006 (6)
- July 2006 (4)
- June 2006 (3)
- May 2006 (3)
- April 2006 (1)
- March 2006 (7)
- February 2006 (13)
- January 2006 (6)
- December 2005 (4)
- November 2005 (5)
- October 2005 (7)
- August 2005 (4)
- July 2005 (4)
- June 2005 (9)
- May 2005 (6)
- April 2005 (3)
Programación
-
Buscar texto en los objetos de la base de datos
Los que nos dedicamos a esto del desarrollo del software y lidiar constantemente con código duro o embebido en scripts, bases de datos, etc, etc. requerimos automatizar muchas cosas para facilitar el mantenimiento y desarrollo de sistemas, para esto siempre nos acercamos a san google y vemos con que nos sale. Después de un tiempo creo que es momento de contribuir con la información que en muchas ocasiones he encontrado en google después de varias consultas infructuosas.
En este caso mi intención será de aquí en adelante aportarle algo a google, mostrar más información sobre todo lo que tengo que hacer día a día en el trabajo y aportar un poco a la comunidad de las mejores prácticas con el ideal de hacer de este mundo ... un mundo mejor. =) jajaja.
Iniciando ...
La siguiente consulta nos ayuda a buscar cadenas de texto en los procedimientos almacenados y cuando son bastantes realmente es un dolor de cabeza.
SELECT S.name, OBJECT_NAME(M.object_id), *
FROM sys.sql_modules M
INNER JOIN sys.objects O ON O.object_id = M.object_id
INNER JOIN sys.schemas S ON O.schema_id = S.schema_id
WHERE M.Definition LIKE '%texto_a_buscar%'
Esto nos debe de valer para SQL 2000 en adelante.
Otra forma de hacer la búsqueda bien puede ser con el siguiente código:
Ya estaré agregando algo de código tan simple como este para facilitarnos la vida.DECLARE _at_TextToFind AS VARCHAR(300)
SELECT _at_TextToFind = 'texto_a_buscar'
SELECT S.Name AS [Schema], P.Name, M.definition
FROM sys.procedures P
INNER JOIN sys.schemas S ON P.schema_id = S.schema_id
INNER JOIN sys.sql_modules M ON M.object_id = P.object_id
WHERE OBJECT_DEFINITION(P.object_id) LIKE '%'+_at_TextToFind+'%'
ORDER BY S.Name, P.Name
-
Eliminar procesos del WebServer de Visual Studio
Cuantas veces no sucede que ejecutas una aplicación web de Visual Studio y se queda el servidor activo? En algunas ocasiones facilita la ejecución de la página, pero en otras ocasiones es muy molesto porque si trabajas con cache o alguna marranada en memoria y tienes varias aplicaciones en el proyecto, pueden cargarse tantas instancias como proyectos web tengas.
Si quieres el camino rápido ejecuta los siguientes pasos.- Guarda en un archivo el comando (llamalo como quieras con extensión ps1):
Get-Process | Where { $_.Name -Eq "WebDev.WebServer" } | Kill- Genera un acceso directo en el escritorio poniendo lo siguiente, sustituyendo ScriptKillWS.ps1 por el nombre de tu script:
PowerShell.exe [PathDelArchivo]\ScriptKillWS.ps1

- Asigna los permisos de ejecución de scripts de Power Shell en tu máquina
Set-ExecutionPolicy RemoteSignedUpdate:[04/Marzo/2010] Si con esto no te deja ejecutarlo, en la terminal después de ejecutar el comando anterior manda a llamar el script desde consola.
Set-ExecutionPolicy RemoteSigned
ScriptKillWS.ps1Ahora ... quieres entender lo que hiciste? .. sigue leyendo
Leer más... -
Compartamos código
Cuando desarrollas aplicaciones de software a distancia, es común querer compartir código pero tenemos la limitante de que al hacerlo por correo no se ve el realzado de sintaxis y por mensajero es limitado el envío por los emoticons, el número de líneas o bien simplemente queremos que persista la información para un post en nuestro blog.
Claro que algunos blogs como Jaws, permiten compartir un código como el siguiente y con sus respectivos tags.
Leer más...1: ParameterExpression pc = Expression.Parameter(typeof(Customer), "c");
2:
3: IQueryable<Customer> q3 =
4: dc.Customers.Where<Customer>
5: (
6: Expression.Lambda<Func<Customer, bool>>
7: (
8: Expression.Equal(
9: Expression.Property(pc, typeof(Customer).GetProperty("City")),
10: Expression.Constant("London", typeof(string))
11: ),
12: new ParameterExpression[] { pc }
13: )
14: );
-
Internet Explorer 8 y la vista compatibilidad
Después de varios intentos por mejorar el IE, Microsoft ha procurado seguir de menos un estándar, en esta ocasión con la versión de IE 8 el equipo de desarrollo de IE ha procurado seguir el estándar 2.1 de las CSS [1] y es una de las cosas que más llaman la atención debido a que constantemente podemos ver el icono para activar la vista compatibilidad.

Por default esta vista está deshabilitada, debido a que los desarrolladores de páginas web nos vemos forzados a solucionar este tipo de problemas por más sencillos que parezcan, existen algunas etiquetas que nos pueden ayudar. La primera es la que forza a que la página se vea con las características de IE8, esto quiere decir que nuestra página cumple con el estándar 2.1 de las CSS y por tal motivo evitamos que salga el icono en la barra del navegador
También tenemos otra opción para asegurarnos de que se habilite la vista compatibilidad cuando se carga la página.<meta http-equiv="X-UA-Compatible" content="IE=8" />
Dicha etiqueta debe aparecer antes que cualquier otra etiqueta y debe estar situado en el de la página.<meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
Otra opción de la cual podemos sacar provecho es la que provee el IIS 7, donde podemos editar el archivo de configuración y establecer que todas las páginas se comporten de forma predeterminada con la vista compatibilidad agregando lo siguiente en el web.config.<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>TextboxList + Autocomplete demo</title>
</head>
Y por último se pude realizar esta verificación mediante JavaScript en la version 6 del IIS con el siguiente script.<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
[1] http://www.w3.org/TR/CSS2/function IsStandardsMode()
{
!if(document.documentMode)
return false;
return (document.documentMode == 8);
}
-
Hablemos de SSIS
Hoy quiero hacer un post sencillo, sin mucho tecnicismo y que me recuerde que de ves en cuando tengo que anotar algo por aquí aunque sea de rápido pero que tenga la suficiente información para atraer a dos que tres lectores.
Veamos que es SSIS, podrías confundirte con el Sistema de Integración del Servicio Social, pero esto solo ocurre si eres dislexico. El SQL Server Integration Services (SSIS) es un componente de Microsoft SQL Server, es un software empleado en base de datos que permite llevar a cabo una amplia gamas en tareas para la migración de datos.
SSIS es una herramienta ETL (son las siglas en inglés de Extraer, Transformar y Cargar -Extract, Transform and Load-). integral y totalmente funcional. Su funcionalidad, escala y rendimiento se comparan de manera muy favorable con competidores superiores en el mercado, a una fracción de su costo y conste que no me pagan por hacer publicidad, pero es cierto que se ofreció en el mercado como parte de la suite de SQL y no se elevo el costo por su uso como suele suceder con los productos de Microsoft.
La arquitectura de canalización de integración de datos permite consumir datos desde orígenes simultáneos, realizar transformaciones complejas y llevar los datos a destinos simultáneos, siento estos orígenes y destinos de datos suficientemente diversos. Esta arquitectura permite usar SSIS no sólo para conjuntos de datos de gran tamaño, sino también para flujos de datos complejos. A medida que los datos fluyen desde los orígenes hacia los destinos, la secuencia de datos se puede dividir, fusionar, combinar con otras secuencias de datos y manipular de distintas maneras.

De momento es todo, tengo intención de ir publicando más datos sobre SSIS porque es muy útil y existen algunos trucos que pueden ahorrarnos mucho esfuerzo.

Resources


Comentarios Recientes