Creada el: 15/08/98 - Actualizada el: 22/06/99
Los que programaban con las interfaces para bases de
datos DAO o RDO que venia con Visual Basic Enterprise, tendrán que cambiar a la nueva
tecnología de acceso a datos que es ADO (ActiveX Data Objects). Actualmente ADO viene
conjuntamente con el Option Pack de Windows NT 4, dentro del Option Pack están los
instaladores para Windows 95, Windows NT WorkStation, Windows NT Server.
La nueva versión de Visual Basic (VB 6) trabajará con ADO naturalmente, por eso es
importante comenzar todos los nuevos proyectos con esta interface. También la nueva
versión de SQL Server (SQL Server 7.0) puede trabajar con ADO, lo que le posibilita al
motor de base de datos conectarse a cualquier proveedor OLE DB, por ejemplo, desde un
procedimiento almacenado de SQL Server puede acceder a una base de datos Access para
consultar datos, o realizar una búsqueda con Microsoft Index Server (indexador de todo
tipo de documentos Word, Exel, Etc.) y encontrar documento con un determinado string.
Para conectarse por medio de ADO es necesario un proveedor de OLE DB, en el Option Pack
están disponibles tres proveedores (providers):
OLE DB Provider for ODBC: Permite conectarse a cualquier fuente de datos
ODBC. Los drivers ODBC están disponibles para la mayoría de los DBMS en uso hoy.
OLE DB Provider for Microsoft Index Server: El proveedor para
Microsoft Index Server proporciona acceso de solo lectura alos archivos de sistema y
documentos Word, Exel, Web, Etc. Las consultas SQL pueden recibir la
información en forma apropiada para el motor de base de datos.
OLE DB Provider for Microsoft Active Directory Service: Permite acceder a
los servicios de directorios, tanto de NT como de Novell.
Descripción |
Microsoft ActiveX Data Objects (ADO) es una interfaz basada en Automatización para obtener acceso a datos. ADO utiliza la interfaz de OLE DB para tener acceso a un amplio conjunto de orígenes de datos, incluyendo pero no limitándose a los datos proporcionados mediante ODBC. Los usuarios de RDO y DAO deberán sentirse rápidamente cómodos con la programación en ADO, ya que el diseño general de ADO proviene del desarrollo de estas interfaces.
Características |
Ejemplo de conexión |
Este ejemplo muestra las diferentes maneras de usar la propiedad ConnectionString para abrir un objeto Connection. También usa la propiedad de ConnectionTimeout para poner un periodo de interrupción de conexión, y la propiedad state para verificar el estado de las conexiones.
Public Sub ConnectionString()
Dim cnn1 As ADODB.Connection
Dim cnn2 As ADODB.Connection
Dim cnn3 As ADODB.Connection
Dim cnn4 As ADODB.Connection
' Abre una conexión sin usar un Data Source Name (DSN).
Set cnn1 = New ADODB.Connection
cnn1.ConnectionString = "driver={SQL Server};" & _
"server=bigsmile;uid=sa;pwd=pwd;database=pubs"
cnn1.ConnectionTimeout = 30
cnn1.Open
' Abre una conexión usando DSN y ODBC.
Set cnn2 = New ADODB.Connection
cnn2.ConnectionString = "DSN=Pubs;UID=sa;PWD=pwd;"
cnn2.Open
' Abre una conexión usando DSN y OLE DB.
Set cnn3 = New ADODB.Connection
cnn3.ConnectionString = "Data Source=Pubs;User ID=sa;Password=pwd;"
cnn3.Open
' Abre una conexión que usa un DSN y argumentos individuales
' en lugar de una cadena de conexión.
Set cnn4 = New ADODB.Connection
cnn4.Open "Pubs", "sa", "pwd"
' Muestra el estado de las conexiones
MsgBox "cnn1 state: " & GetState(cnn1.State) & vbCr & _
"cnn2 state: " & GetState(cnn2.State) & vbCr & _
"cnn3 state: " & GetState(cnn3.State) & vbCr & _
"cnn4 state: " & GetState(cnn4.State)
cnn4.Close
cnn3.Close
cnn2.Close
cnn1.Close
End Sub
Public Function GetState(intState As Integer) As String
Select Case intState
Case adStateClosed
GetState = "adStateClosed"
Case adStateOpen
GetState = "adStateOpen"
End Select
End Function
Por Luis Walter Reynoso para Ethek & Friends