Archive for the Errores Category

¿Problemas al instalar SQL Server 2008 ?

Posted in Aplicaciones, Errores, Microsoft, Tutorial on abril 4, 2009 by César Intriago

El día de hoy descargué la versión Express de SQL Server 2008, pero al momento de la instalación esta terminaba con un error, el link de soporte indicaba que debía remover el SQL Native Client e intentarlo nuevamente, así que fui a la ventana de “Agregar o Quitar Programas” lo removí, intenté nuevamente la instalación y… error otra vez, el mismo mensaje. Hmmm.. dando una vistazo al LOG de instalación, este indicaba que el problema estaba realmente en el componente MSXML 6, regresé a “Agregar o Quitar Programas” para intentar remover el MSXML6 SP2, pero recibía otro mensaje de error que imposibilitaba quitarlo.

Buscando un poco por Internet, encontré la solución, resulta que con Windows XP Sp3 el SMXML6 SP2 se bloquea y no se puede remover, cuando SQL Server 2008 intenta instalar la versión anterior incluida en el instalador, se genera el error descrito anteriormente. La solución fue descargar “Windows Installer Clean Up” y remover el MSXML SP2, luego volver a instalar SQL Server 2008 y listo, la instalación fue exitosa.

Si tienen un ambiente con Windows XP SP3 y están con problemas similares de instalación de SQL Server 2008, prueben lo que les cuento, les podría solucionar su problema.

Anuncios

BlackPoint 2008 – Avanzado !!

Posted in Aplicaciones, BlackPoint, Blend, Errores, Patrones de Diseño, Tutorial, WPF on agosto 25, 2008 by César Intriago

Maldito Qumana!! acaba de borrar todo el contenido de esta entrada, textos, imágenes, enlaces, todo. DIABLOS, voy a tener que escribir todo el post nuevamente… y lo que ya no me acuerdo….. aarrggg…. PRRRT.

Blend – Cannot create an instance of an object…

Posted in Blend, Errores on febrero 4, 2008 by César Intriago

Condenado error que me salía en el Blend, este era el escenario: Tenía una aplicación pequeña que se conectaba con SQL Server 2005 para obtener una lista de datos y, mostrarlos en un ListView usando un ObjectDataProvider para el enlace de datos (DataBindig), la aplicación se ejecutaba sin problemas, pero al momento de ver la ventana en el diseñador, el ListView mostraba el error “Cannot Create an Instance of an Object”, que podría ser!, pues el error indicaba claramente que alguna de las clases (Bll, Dto, Dal) usadas en el DataBind no se podían instanciar, ahí me di cuenta que Blend intentaba ejecutar el código en tiempo de diseño para dibujar el control, entonces en tiempo de diseño tenía un error de compilación (uhh??), bueno ahora el siguiente paso era ver que parte del código no podía ser ejecutada por el diseñador:

  • Clases estáticas… OK
  • Propiedades… OK
  • Constructor…OK
  • Constantes…OK
  • Acceso al app.config…OK
  • Referencias a otros ensamblados (Bll, Dto, Dal)… OK
  • Conexión a la Base de Datos… ERROR !!, el diseñador no puede crear una conexión a una base de datos usando SqlConnection, por lo todas las clases que lo invocaban no podía ser creadas (no se puede crear una instancia de un objeto) y el diseñador generaba el error.  

No me parece mal que en tiempo de diseño, Blend no se pueda conectar con una base de datos, pero ahora cómo resuelve el problema con el diseñador, después de todo el mensaje de error no era lo único, tampoco podía mover de lugar el control. La solución era obvia, en el código del CLR detectar si estaba en modo diseñador o modo ejecución, por suerte fue algo bastante sencillo gracias a Google:

List<string> listaDatos = new List<string>();

if (!DesignerProperties.GetIsInDesignMode(new DependencyObject()))
listaDatos = FuenteDatos.CargarTodos();

Y solucionado el inconveniente: si NO está en modo diseñador, conectar con la BDD y cargar los datos.
De aquí no es difícil poder simular los datos para que aparezcan en el diseñador:
List<string> listaDatos = new List<string>(); 
if (!DesignerProperties.GetIsInDesignMode(new DependencyObject())) 
{  
 listaDatos = FuenteDatos.CargarTodos(); 
}  
else 
{ 
 listaDatos.Add("Cadena de Ejemplo 1"); 
 listaDatos.Add("Cadena de Ejemplo 2"); 
} 
Cuando se abra el control en el diseñador se mostrarán las cadenas de ejemplo y cuando se ejecute la aplicación se cargarán los datos de la bdd, muy útil para tomar en cuenta.
::Fin de la Transmisión::