在表格模式下,数据库是表格模型中所有对象的容器。
数据库表示形式
数据库是构成表格模型的所有对象所在的位置。 由数据库包含,开发人员查找连接、表、角色等对象。
AMO 中的数据库
使用 AMO 管理表格模型数据库时, Database AMO 中的对象与表格模型中的数据库逻辑对象匹配一对一。
注释
若要访问数据库对象,在 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 创建和作数据库表示形式,请参阅表格 AMO 2012 示例中的源代码;请专门签入以下源文件:Database.cs。 示例代码仅作为对此处介绍的逻辑概念的支持提供,不应在生产环境中使用。