Establecer conexiones en ADOMD.NET
En ADOMD.NET, se utiliza el objeto AdomdConnection para abrir conexiones con orígenes de datos analíticos, como las bases de datos de Microsoft SQL Server Analysis Services. Cuando la conexión ya no sea necesaria, deberá cerrarla explícitamente.
Abrir una conexión
Para abrir una conexión en ADOMD.NET, primero debe especificar una cadena de conexión a una base de datos y un origen de datos analíticos válidos. A continuación, debe abrir explícitamente la conexión a ese origen de datos.
Especificar un origen de datos multidimensionales
Para especificar una base de datos y un origen de datos analíticos, establezca la propiedad ConnectionString del objeto AdomdConnection. La cadena de conexión especificada para la propiedad ConnectionString es una cadena compatible con OLE DB. ADOMD.NET utiliza la cadena de conexión especificada para determinar cómo conectarse al servidor.
La propiedad ConnectionString se puede establecer en un objeto AdomdConnection existente o durante la creación de una instancia de un objeto AdomdConnection. El código siguiente muestra cómo establecer la propiedad ConnectionString al crear un objeto [:Microsoft.AnalysisServices.AdomdClient.AdomdConnection]:
Dim advwrksConnection As New AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS2008R2")
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString)
AdomdConnection advwrksConnection = new AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS2008R2");
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString);
Abrir una conexión con el origen de datos.
Una vez especificada la cadena de conexión, debe utilizar el método Open para abrir la conexión. Al abrir un objeto AdomdConnection, puede establecer varios niveles de seguridad para la conexión. El nivel de seguridad que se utiliza para la conexión depende del valor de configuración de la cadena de conexión ProtectionLevel. Para obtener más información sobre cómo abrir las conexiones seguras en ADOMD.NET, vea Establecer conexiones seguras en ADOMD.NET.
Trabajar con una conexión
Cada conexión abierta tiene lugar en una sesión, lo que proporciona compatibilidad con las operaciones con estado. Una sesión puede compartirse entre varias conexiones abiertas. Compartir una sesión permite que más de un cliente comparta el mismo contexto. Para obtener más información, vea Trabajar con conexiones y sesiones en ADOMD.NET.
Puede utilizar una conexión abierta para recuperar metadatos y datos y ejecutar comandos. Para obtener más información, vea Recuperar metadatos de un origen de datos analíticos, Recuperar datos de un origen de datos analíticos y Ejecutar comandos en un origen de datos analíticos.
Cuando la conexión está abierta, puede recuperar datos y metadatos y ejecutar comandos desde una transacción de lectura confirmada, en la que se mantienen los bloqueos compartidos mientras se leen los datos para evitar la lectura de datos sucios. Los datos se pueden cambiar antes de que finalice la transacción, lo que da como resultado lecturas no repetibles o datos ficticios. Para obtener más información, vea Realizar transacciones en ADOMD.NET.
Cerrar una conexión
Se recomienda que cierre explícitamente un objeto AdomdConnection tan pronto como la conexión deje de ser necesaria. Para cerrar explícitamente la conexión, utilice los métodos Close y Dispose del objeto AdomdConnection.
Es posible que una conexión que no se cierra explícitamente, pero a la que se le permite salir de su ámbito, no pueda liberar los recursos del servidor lo suficientemente rápido como para permitir que las aplicaciones cliente de Analysis Services con simultaneidad elevada abran nuevas conexiones de forma eficaz. En función de cómo haya creado la conexión, la sesión utilizada por el objeto AdomdConnection puede permanecer activa si no se cierra la conexión explícitamente.
Para obtener más información acerca de las sesiones, vea Trabajar con conexiones y sesiones en ADOMD.NET.
Importante |
---|
En el método Finalize de cualquier clase implementada, no llame a los métodos Close o Dispose de un objeto AdomdConnection, un objeto AdomdDataReader o cualquier otro objeto administrado. En un finalizador, libere solamente los recursos no administrados que pertenezcan directamente a la clase implementada. Si la clase implementada no es propietaria de ningún recurso no administrado, no incluya un método Finalize en la definición de clase. |