在表格模式中,数据库的概念类似于关系引擎和多维模型中的那些概念;数据库是表格模型中所有对象的容器。
数据库表示形式
数据库是构成表格模型的所有对象所在的地方。 开发人员可以查找数据库中包含的连接、表和角色等多种对象。
AMO 中的数据库
在使用 AMO 管理表格模型数据库时,AMO 中的 Database 对象与表格模型中的数据库逻辑对象一对一匹配。
![]() |
---|
为了获取对 AMO 中数据库对象的访问权限,用户需要有权访问服务器对象并且连接到该服务器对象。 |
ADOMD.Net 中的数据库
在使用 ADOMD 查询表格模型数据库时,是通过 AdomdConnection 对象来使用或连接到某一特定的数据库的。
您可以使用以下代码段直接连接到某个数据库:
using ADOMD = Microsoft.AnalysisServices.AdomdClient;
…
ADOMD.AdomdConnection currrentCnx = new ADOMD.AdomdConnection("Data Source=<<server\instance>>;Catalog=<<database>>");
currrentCnx.Open();
…
此外,通过现有连接对象(即尚未关闭),您可以按以下代码段中所示将当前数据库更改为您选择的其他数据库:
currentCnx.ChangeDatabase("myOtherDatabase");
AMO 中的数据库
使用 AMO 管理数据库对象时,最先从一个 Server 对象开始,然后在数据库集合中搜索数据库,或通过向该集合添加数据库来创建新的数据库。
下面的代码段演示用于连接服务器,以及在确定数据库不存在之后创建空数据库的步骤:
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;
}
此外,要实际理解如何使用 AMO 创建和操作数据库表示形式,请参阅 AMO2Tabular示例中的源代码;具体来讲,请查看以下源文件:Database.cs。 该示例在 Codeplex 上提供。 有关该代码的重要说明:提供该代码只是为了支持本文介绍的逻辑概念,不应用于生产环境中;也不应用于除教学之外的其他用途。