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çã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.