Partilhar via


Representação de banco de dados (de tabela)

Em modo de tabela, o conceito de banco de dados é semelhante aos conceitos do mecanismo relacional e de modelos multidimensionais; o banco de dados é o contêiner de todos os objetos no modelo de tabela.

Representação de banco de dados

O banco de dados é o local onde residem todos os objetos que constituem um modelo de tabela. O desenvolvedor localiza no banco de dados objetos como conexões, tabelas, funções e muito mais.

Banco de dados no AMO

Ao usar o AMO para gerenciar um banco de dados Modelo de Tabela, o objeto Database no AMO coincide um-para-um ao objeto lógico de banco de dados em um modelo de tabela.

ObservaçãoObservação

Para obter acesso a um objeto de banco de dados, no AMO, o usuário precisa ter acesso a um objeto de servidor e conectar-se a ele.

Banco de dados no ADOMD.Net

Ao usar o ADOMD para consultar um banco de dados Modelo de Tabela, o sentido de usar ou estar conectado a um banco de dados específico é obtido através do objeto AdomdConnection.

Você pode se conectar diretamente a determinado banco de dados usando o seguinte trecho de código:

using ADOMD = Microsoft.AnalysisServices.AdomdClient;
…
   ADOMD.AdomdConnection currrentCnx = new ADOMD.AdomdConnection("Data Source=<<server\instance>>;Catalog=<<database>>");
   currrentCnx.Open();
…

Além disso, em um objeto de conexão existente (que não foi fechado), você pode alterar o banco de dados atual para outro de sua escolha, conforme mostrado no seguinte trecho de código:

   currentCnx.ChangeDatabase("myOtherDatabase");

Banco de dados no AMO

Ao usar o AMO para gerenciar um objeto de banco de dados, você inicia primeiro com um objeto Server e de lá pesquisa seu banco de dados na coleção de bancos de dados ou cria um novo banco de dados adicionando um à coleção.

O trecho de código a seguir mostra as etapas para conectar-se a um servidor e como criar um banco de dados vazio, depois de verificar que o banco de dados não existe:

AMO.Server CurrentServer = new AMO.Server();
try
{
    CurrentServer.Connect(currentServerName);
}
catch (Exception cnxException)
{
    MessageBox.Show(string.Format("Error while trying to connect to server: [{0}]\nError message: {1}", currentServerName, cnxException.Message), "AMO to Tabular message", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
}
newDatabaseName = DatabaseName.Text;
if (CurrentServer.Databases.Contains(newDatabaseName))
{
    return;
}
try
{
    AMO.Database newDatabase = CurrentServer.Databases.Add(newDatabaseName);
    
    CurrentServer.Update();
}
catch (Exception createDBxc)
{
    MessageBox.Show(String.Format("Database [{0}] couldn't be created.\n{1}", newDatabaseName, createDBxc.Message), "AMO to Tabular message", MessageBoxButtons.OK, MessageBoxIcon.Error);
    newDatabaseAvailable = false;
}

Além disso, se você quer ter uma compreensão prática de usar o AMO para criar e manipular representações de banco de dados, consulte o código-fonte do exemplo AMO2Tabular; verifique especificamente o seguinte arquivo de origem: Database.cs. O exemplo está disponível em Codeplex. Uma nota importante sobre o código: o código é fornecido apenas como um suporte aos conceitos lógicos explicados aqui; ele não deve ser usado em um ambiente de produção, nem para fins que não sejam pedagógicos.