資料庫表示法 (表格式)
在表格式模式中,資料庫的概念類似於關聯式引擎和多維度模型中的概念,資料庫是表格式模型中所有物件的容器。
資料庫表示法
資料庫是形成表格式模型之所有物件所在的地方。 開發人員會在資料庫中找到類似連接、資料表、角色等許多物件。
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 上取得此範例。 有關此程式碼的重要注意事項:此程式碼的提供目的只是為了支援這裡所說明的邏輯概念,不應該用於實際執行環境,也不應該用於教學以外的其他用途。