Inicio » Informática profesional. » Novedades 2008 » Curso de ASP NET Avanzado » 5.- Conexión con la base de datos.

Curso de ASP NET Avanzado

Cursos Relacionados:

5.- Conexión con la base de datos.

Para comenzar a trabajar con una base de datos desde nuestra aplicación, lo primero que debemos hacer lógicamente es interconectar la base de datos con nuestro proyecto web.

Para conseguir esta conexión debemos indicar el nombre del servidor de la base de datos, el nombre de la base de datos con la que vamos a conectar, y una serie de parámetros que configura la conexión.

Para conseguir conectar con la base de datos contamos con el objeto SqlConnection para conectar con servidores SQL Server, pero el resto de proveedores también cuentas con sus propios objetos de conexión como por ejemplo OleDbConnection.

Este objeto, recibe como argumento una cadena con la información requerida para la conexión. Para poder construir esta cadena, debemos recordar que modo de autenticación debemos elegir para identificarnos en SQL Server 2005.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP NET Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Modos de autenticación.

Recuerda que teníamos dos modos de autenticación:

  • Autenticación Windows.
  • Autenticación SQL Server 2005 o mixta.

Cada una de estas autenticaciones tienen su ventaja y su desventaja frente a la otra.

Si utilizamos autenticación mixta, cada usuario de nuestro sitio web deberá tener su propia cuenta en SQL Server 2005, por lo tanto cada vez que demos de alta, baja, o modifiquemos un usuario, deberemos actualizar las cuentas de usuario de SQL Server 2005. Otro modo de trabajo es crear una única cuenta de usuario en SQL Server 2005 que sea la utilizada de modo genérico por todos nuestros usuarios, esto supone un problema importante ya que todos los usuarios de nuestra aplicación compartirán los mismos permisos de acceso, sin importar si se tratan de administradores del sitio o usuarios básicos.

El mayor problema de esta autenticación radica en que cuando se hace una petición de acceso a SQL Server 2005, las credenciales necesarias para esta conexión (login y contraseña) se envían en formato HTML sin encriptar. Esto facilitaría las tareas de robos de credenciales para su uso indebido.

La autenticación en modo Windows, es la más recomendable de utilizar para proyectos Web. Con este modo, SQL Server 2005 no necesita recibir las credenciales en forma de login y contraseña. Para permitir el acceso a sus bases de datos, basa estos permisos en una relación de confianza con otras fuentes que comprueben la identificación de usuario.

Por lo tanto, para la autenticación Windows, basta con crear una cuenta llamada ASPNET para permitir el acceso de nuestros usuarios desde nuestro proyecto Web. Evitando los problemas de seguridad del envío de logins y contraseñas sin cifrar, y la tarea de crear cuentas para cada usuario de nuestras webs.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP NET Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Cadenas de conexión.

En función del tipo de autenticación que hemos elegido para iniciar sesión en la base de datos, podemos tener dos tipos de cadenas de conexión.

  • Autenticación Windows.
  • Autenticación SQL Server o mixta.

Los parámetros más comunes que se podemos utilizar para configurar la cadena de conexión son:

Parámetro Descripción
Connection TimeOut Define el tiempo de espera máximo que debe esperar una conexión para intentar conectar con éxito con el servidor de base de datos. En caso de superar este tiempo se genera una excepción. El tiempo por defecto definido es de 15 segundos.
Data Source Recibe el nombre del servidor SQL Server utilizado en la conexión, o en caso de utilizar bases de datos de usuario Access el nombre del archivo utilizado.
Initial Catalog Nombre de la base de datos con la que vamos a trabajar.
Integrated Security Configura nuestra conexión de un modo seguro o no. Recibe como valores True, False y SSPI, siendo True y SSPI el mismo modo de seguridad.
Persist Security Info Si recibe el valor True, se devuelve la contraseña junto con la conexión si ha sido abierta o permanece abierta, esto supone un riesgo de seguridad, por lo que se suele dejar como está configurada por defecto, False.
Password Contraseña para la identificación de inicio se sesión en SQL Server.
Provider Utilizada únicamente para conexiones OleDbConnection, establece o devuelve el nombre del proveedor.
User ID Nombre de usuario para el inicio de sesión en SQL Server 2005, login.

Al ejecutar la página, si todo ha ido correctamente nos muestra el mensaje de éxito:

Supongamos que me equivocó al crear la cadena de conexión, por ejemplo un error muy común en el nombre del servidor, en lugar de introducir la contrabarra "\" por la barra "/" que no es correcta:

Con este error provocado, la excepción es capturada por nuestra estructura Try - Catch y mostrada en la página:

 

 


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de ASP NET Avanzado y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de ASP NET Avanzado y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.