El objeto Connection permite establecer una conexión a una base de datos, mantener múltiples conexiones de forma explícita, y asociar conexiones abiertas con objetos Command. Las propiedades y métodos del objeto Connection controlan el estado de la conexión y permiten ejecutar consultas y procedimientos almacenados. Es importante cerrar registros antes que la conexión y cerrar explícitamente las conexiones cuando ya no se necesitan.
2. DEFINICIÓN:
Este objeto establece un vínculo a una base de datos. Se utiliza un objeto
connection implícita y explícitamente en una base de datos.
Cuando se utiliza explícitamente se pueden mantener una o más conexiones y
volver asignar las funciones a las que sirven las conexiones en una aplicación.
Cuando se utiliza implícitamente se obtiene un código más corto pero cada nuevo
objeto creado con una conexión consume más recursos.
Tenemos que tener en cuenta que primero se debe cerrar los registros antes que
la conexión.
3. PROPIEDADES:
PROPIEDAD DESCRIPCIÓN
IsOpen Comprueba si la conexión está abierta.
Port
Obtiene el número del puerto utilizado por la
conexión.
RedirectDepth
Obtiene o define el número de redirecciones de
encabezados HTTP que se siguen.
Server
Obtiene el nombre del host o dirección IP del
servidor al que está conectado el cliente.
UseSSL
Comprueba si la conexión HTTP entre el cliente y el
servidor utiliza el protocolo SSL ("https://").
4. MÉTODOS:
MÉTODO DESCRIPCIÓN
Open Abre una conexión con una base de datos
Close
Cierra la conexión, si está abierta. No devuelve un error si la
conexión ya está cerrada.
Execute
Ejecuta una consulta, instrucción SQL, procedimientos
almacenados o un comando específico del proveedor.
Send Envía una solicitud HTTP al servidor.
BeginTrans Inicia una transacción.
CommiTrans Guarde cualquier cambio y cierre la transacción actual.
RollBackTrans
Cancela cualquier cambio realizado durante la transacción
actual y cierre la transacción.
5. EJEMPLO:
Sub OpenMyDB()
‘declaramos variables
Dim conexion As ADODB.Connection
Dim registros As ADODB.Recordset
‘establecemos las variables
Set conexion = New ADODB.Connection
Set registros = New ADODB.Recordset
‘creamos la conexion
With conexion
.Provider = “Microsoft.Jet.OLEDB.4.0”
.ConnectionString = CurrentProject.Path &
“Northwind.mdb”
.Open
End With
‘creamos la referencia a los registros
With registros
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open “Customers”, conexion
End With
‘imprimimos uno de prueba
Debug.Print registros.Fields(0).Value
‘liberamos los registros
conexion.Close
Set registros = Nothing
Set conexion = Nothing
End Sub
6. RESUMEN:
Objeto Connecction permite:
Controlar si el proveedor guarda una versión preparada (o compilada) del comando antes de la
ejecución mediante la propiedad Prepared.
Establecer el número de segundos que esperará un proveedor para la ejecución de un comando
mediante la propiedad CommandTimeout.
Asociar una conexión abierta con un objeto Command estableciendo su propiedad
ActiveConnection.
Establecer la propiedad Name para identificar el objeto Command como un método en el objeto
Connection asociado.
Pasar un objeto Command a la propiedad Source de un conjunto de registros para obtener datos.
7. RECOMENDACIONES:
Si la conexión SqlConnection está fuera de ámbito, no se cerrará. Por lo
tanto, es preciso cerrar explícitamente la conexión llamando a Close o
Dispose.
Cierre y botar son funcionalmente equivalentes. Si el valor de la agrupación
de conexiones Pooling se establece en true o yes, la conexión subyacente se
devuelve a la agrupación de conexiones.
8. CONCLUSIONES:
Los comandos contienen la información que se envía a una base de datos y se
representan mediante clases específicas de un proveedor, como
SQLCommand. Un comando podría ser una llamada a un procedimiento
almacenado, una instrucción UPDATE o una instrucción que devuelve
resultados. También es posible utilizar parámetros de entrada o de resultados
y devolver valores como parte de la sintaxis del comando.
Cuando se crea una instancia de SqlConnection, todas las propiedades se
ajustan a sus valores iniciales.
Un objeto SqlConnection representa una única sesión con un origen de datos
de SQLServer. En el caso de un sistema de bases de datos de cliente y
servidor, equivale a una conexión de red al servidor.