23 de jul. de 2012

SQL Server Error 4064 - La solución

Si bien éste no es un tip de .Net, sino que es de SQL Server, me pareció útil compartirlo.
No se puede abrir la base de datos predeterminada del usuario. Error de inicio de sesión.

Este error ocurre cuando intentamos iniciar sesión en SQL Server con un usuario cuya base de datos por defecto fue eliminada del servidor.
En un servidor muy cerrado en cuanto a su seguridad, este problema puede dar la impresión de ser muy dificil de resolver, y más si se trata del único usuario con el que tenemos acceso al servidor.


Sin embargo la solución en muy sencilla, en el SQL Server Management Studio, (Express o no), buscamos en el diálogo de inicio de sesión el botón "Opciones" con lo cual accederemos a las opciones de la conexión que deseamos abrir.

A continación nos ubicamos en la pestaña "Propiedades de la conexión" y buscamos el campo "Conectar con base de datos", el cual mostrará el valor , borramos ese valor y escribimos master, (o cualquier nombre válido de base de datos a la cual tengamos acceso en el servidor), hacemos click en el botón Conectar y listo!


7 de jul. de 2012

Tip: Cómo saber cuántos días tiene un año en .Net?

Algunos programadores no lo tienen en cuenta, otros simplemente nunca lo necesitaron y otros no lo pensaron hasta que se chocaron con el problema... pero es un tip que puede ser útil, Cómo saber cuántos días tiene un año?

La respuesta se encuentra en la clase Calendar, del namespace System.Globalization, la cual contiene varios métodos y funciones de ayuda para operaciones de tiempo, pero la que nos importa en este momento es Calendar.GetDaysInYear(int Year).

Su uso? Depende de lo que necesitemos, pero a mi entender lo más lógico es utilizar la instancia de Calendar que se encuentra instanciada en nuestra CurrentCulture, por lo que se utilizaría de la siguiente manera:


En VB.Net:

Dim DiasDelAnio As Integer = CultureInfo.CurrentCulture.Calendar.GetDaysInYear(aux.Year)


En C#

int diasDelAnio = CultureInfo.CurrentCulture.Calendar.GetDaysInYear(aux.Year)