Conectar Delphi a SQL Server Usando ADO

En esta artículo mostraré como conectar nuestras aplicaciones desarrolladas con Delphi a SQL Server 2012. Si deseas conocer más acerca de este motor de base de datos  puedes entrar al siguiente sitio de Microsoft SQL Server. O si lo deseas puedes descargar la versión SQL Server Express que es gratuita y de uso libre tanto para aplicaciones comerciales como aquellas de libre distribución.

Importante*** Aunque el artículo está orientado a la versión 2012 de SQL Server, lo descrito aquí aplica para cualquier versión a partir de la 2000.

Prerrequisito

Aunque no es necesario quiero recomendar que primero se instale la base de datos “Adventure Works” que proporciona Microsoft a través del siguiente enlace: Adventure Works for SQL Server 2012. En esta entrada de mi blog explico a detalle la manera de montar esta base de datos: Attach y Dettach en Sql Server.

Conectar Delphi a SQL Server Usando ADO.

Ejecutaremos Delphi y crearemos un nuevo Proyecto VCL Forms Application, de la paleta de componentes expandiremos la rama DbGo y daremos doble click en el componente TADoConnection.  Una vez que aparezca el componente en el formulario de nuestra aplicación daremos doble click en él y aparecerá el asistente de creación de la cadena de conexión:

EditConString

Presionamos el botón “Build” y se nos mostrará la lista de proveedores OLEDB disponibles en nuestro sistema:

*** Importante. EL proveedor OLEDB de SQL Server ya viene preinstalado en el sistema operativo Windows por lo que no necesitarás descargar nada adicional.

SelectOleDbProvider

 

 

De la lista de proveedores OLEDB seleccionaremos Microsoft OLE DB Provider for SQL SERVER y presionaremos siguiente.

 

 

 

 

 

 

 

confcadconsql

En la pantalla “Propiedades de vínculo de datos” vamos configurar las opciones de la siguiente manera:

1. Escribiremos el nombre del servidor donde esté instalado SQL Server.

2. El tipo de sesión dependerá de cómo fue instalado Sql Server en mi caso lo he instalado con modo de autenticación mixta por lo que seleccionaré conectarme con un nombre de usuario y contraseña específicos. En mi caso usuario sa.  Daremos click en la casilla “Permitir guardar contraseña”.

3. Si todo ha sido correcto al desplegar la lista se mostrarán las bases de datos a las que tenemos acceso y seleccionaremos AdventureWorks2012.

Como paso adicional si desean validar la conexión deben presionar el botón “Probar Conexión” y de ser todo correcto el sistema mostrará el mensaje “La prueba de conexión fue satisfactoria”

Configurada la conexión guardamos cambios presionando el botón aceptar y ok sucesivamente.

 Una vez hecho lo anterior nuestra aplicación es capaz de conectarse a SQL Server por lo que ahora abriremos una tabla y la mostraremos en nuestro formulario de Delphi.  Para ello colocaremos los siguientes componentes con la configuración correspondiente:

Componente AdoConnection1
Propiedad Valor
Loginprompt False
Componente AdoTable1
Connection AdoConnection1
Table Name HumanResources.Department
Componente DataSource1
DataSet AdoTable1
Componente DbGrid1
DataSource DataSource1
Componente DbNavigator
DataSource DataSource1

 

y esta sería la vista de nuestro formulario una vez terminado de configurar:

 

sqlserver.deparments.content

Por último si lo deseas puedes descargar el programa de prueba aquí:  Conectar Delphi a SqlServer usando ADO

 

10 Comments

  1. hola amigo, yo tengo una aplicacion que fue desarrollada en delphi 7 Ado usa un conection.ini y donde la desarrolle tengo windows server y todos los protocolos de usuarios, cuando quiero ejecutarla en una red punto a punto que no tiene los protocolos de usuarios como la anterior no encuentra el servidor.

  2. Hola, las conexiones con ADO mientras desarrollo y el ejecutable compilado funciona de maravilla mientras corra en la pc que tiene el SQL Server, pero cuando lo llevo a otra pc de la misma red no me conecta. Cosas que ya revise:

    1.) SQL Server tiene habilitado conexiones remotas.
    2.) Firewall bajados en ambas pc´s para descartar si era un problema de seguridad.
    3.) Antivirus bajados en ambas pc´s.

    Esta es mi hilera de conexión:
    Provider=SQLNCLI10.1;Integrated Security=””;Persist Security Info=False;User ID=Admin;Initial Catalog=””;Data Source=MANUEL-PCSQLEXPRESS;Initial File Name=””;Server SPN=””

    Agradecería cualquier observación a la hora de configurar los programas compilados en las estaciones.

Deja un comentario