Conexões no ADOMD.NET
no ADOMD.NET, você usa o AdomdConnection objeto para abrir conexões com fontes de dados analíticos, como Microsoft SQL Server bancos de Analysis Services. Quando a conexão não for mais necessária, feche-a explicitamente.
Abrindo uma conexão
Para abrir uma conexão no ADOMD.NET, primeiro especifique uma cadeia de conexão para uma fonte de dados analíticos e um banco de dados válidos. Em seguida, abra a conexão explicitamente para a fonte de dados.
Especificando uma fonte de dados multidimensional
Para especificar uma fonte de dados analíticos e um banco de dado, defina a ConnectionString Propriedade do AdomdConnection objeto. A cadeia de conexão especificada para a ConnectionString propriedade é uma cadeia de caracteres compatível com OLE DB. O ADOMD.NET usa a cadeia de conexão especificada para determinar como será feita a conexão ao servidor.
A ConnectionString propriedade pode ser definida em um objeto existente AdomdConnection ou durante a criação de uma instância de um AdomdConnection objeto. O código a seguir demonstra como definir a ConnectionString propriedade quando você cria uma conexão ADOMD:
Dim advwrksConnection As New AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS")
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString)
AdomdConnection advwrksConnection = new AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS");
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString);
Abrindo uma conexão à fonte de dados
Depois de especificar a cadeia de conexão, você deve usar o Open método para abrir a conexão. Ao abrir um AdomdConnection objeto, você pode definir vários níveis de segurança para a conexão. O nível de segurança usado para a conexão depende do valor da configuração de cadeia de conexão ProtectionLevel . Para obter mais informações sobre como abrir conexões seguras no ADOMD.NET, consulte estabelecendo conexões seguras no ADOMD.net.
Trabalhando com uma conexão
Cada conexão aberta existe em uma sessão, fornecendo suporte para operações de monitoração de estado. Uma sessão pode ser compartilhada por mais de uma conexão aberta. O compartilhamento de uma sessão permite que mais de um cliente use o mesmo contexto. Para obter mais informações, consulte trabalhando com conexões e sessões no ADOMD.net.
Você pode usar uma conexão aberta para recuperar metadados, dados e executar comandos. Para obter mais informações, consulte Recuperando metadados de uma fonte de dados analíticas, recuperando dados de uma fonte de dados analíticae executando comandos em uma fonte de dados analíticas.
Enquanto a conexão estiver aberta, você poderá recuperar dados, recuperar metadados e executar comandos de uma transação confirmada por leitura, na qual bloqueios compartilhados são mantidos enquanto os dados são lidos para impedir leituras sujas. Os dados ainda podem ser alterados antes do término da transação, resultando em leituras não repetíveis ou em dados fantasma. Para obter mais informações, consulte executando transações em ADOMD.net.
Fechando uma conexão
Recomendamos que você feche explicitamente um AdomdConnection objeto assim que não precisar mais da conexão. Para fechar explicitamente a conexão, use os métodos fechar e descartar do AdomdConnection objeto.
Uma conexão que não está fechada explicitamente, mas que tem permissão para sair do escopo, pode não liberar recursos de servidor com rapidez suficiente para habilitar a alta simultaneidade Analysis Services aplicativos cliente para abrir com eficiência novas conexões. Dependendo de como você criou a conexão, a sessão usada pelo AdomdConnection objeto poderá permanecer ativa se a conexão não for fechada explicitamente.
Para obter mais informações sobre sessões, consulte trabalhando com conexões e sessões no ADOMD.net.
Importante
No método Finalize de qualquer classe implementada, não chame os métodos Close ou Dispose de um AdomdConnection objeto, AdomdDataReader objeto ou qualquer outro objeto gerenciado. Em um finalizador, só libere os recursos não gerenciados de propriedade direta da classe implementada. Se a classe implementada não possuir nenhum recurso não gerenciado, não inclua um método Finalize na definição de classe.