Freigeben über


Verbindungsdarstellung (tabellarisch)

Das Verbindungsobjekt definiert die Quelle der Daten, die das tabellarische Modell auffüllen.

Verbindungsdarstellung

Das Verbindungsobjekt definiert die Quelle der Daten, die das tabellarische Modell auffüllen. Durch das Verbindungsobjekt kann das Modell die Daten von einem OLE DB-Anbieter erreichen; die Spezifikation des Verbindungsobjekts folgt den Regeln für OLE DB-Anbieter.

Verbindung in AMO

Wenn eine tabellarische Modelldatenbank mithilfe von AMO verwaltet wird, entspricht das DataSource-Objekt in AMO 1:1 dem logischen Verbindungsobjekt in einem tabellarischen Modell.

Der folgende Codeausschnitt veranschaulicht, wie eine AMO-Datenquelle oder ein Verbindungsobjekt in tabellarischen Modellen erstellt wird.

  //Create an OLEDB connection string
  StringBuilder SqlCnxStr = new StringBuilder();
  SqlCnxStr.Append(String.Format("Data Source={0};" ,SQLServer.Text));
  SqlCnxStr.Append(String.Format("Initial Catalog={0};", SQLDatabase.Text));
  SqlCnxStr.Append(String.Format("Persist Security Info={0};", false));
  SqlCnxStr.Append(String.Format("Integrated Security={0};", "SSPI"));
  SqlCnxStr.Append(String.Format("Provider={0}", "SQLNCLI11"));
  String DatasourceCnxString = SqlCnxStr.ToString();

  //Verify connection string and connectivity
  System.Data.OleDb.OleDbConnection OleDbCnx = new System.Data.OleDb.OleDbConnection(DatasourceCnxString);
  try
  {
      OleDbCnx.Open();
  }
  catch ()
  {
      throw;
  }
  String newDataSourceName = (string.IsNullOrEmpty(DataSourceName.Text) || string.IsNullOrWhiteSpace(DataSourceName.Text)) ? SQLDatabase.Text : DataSourceName.Text;
  AMO.DataSource newDatasource = newDatabase.DataSources.Add(newDataSourceName, newDataSourceName);
  newDatasource.ConnectionString = DatasourceCnxString.Text;
  if (impersonateServiceAccount.Checked)
      newDatasource.ImpersonationInfo = new AMO.ImpersonationInfo(AMO.ImpersonationMode.ImpersonateServiceAccount);
  else
  {
      if (String.IsNullOrEmpty(impersonateAccountUserName.Text))
      {
          MessageBox.Show(String.Format("Account User Name cannot be blank when using 'ImpersonateAccount' mode"), "AMO to Tabular message", MessageBoxButtons.OK, MessageBoxIcon.Information);
          return;
      }
      newDatasource.ImpersonationInfo = new AMO.ImpersonationInfo(AMO.ImpersonationMode.ImpersonateAccount, impersonateAccountUserName.Text, impersonateAccountPassword.Text);
  }
  newDatasource.Update();

AMO2Tabular-Beispiel

Um ein besseres Verständnis für die Verwendung von AMO zur Erstellung und Bearbeitung von Verbindungsdarstellungen zu gewinnen, können Sie den Quellcode im AMO2Tabular-Beispiel einsehen; prüfen Sie insbesondere die Quelldatei: Datasource.cs. Das Beispiel ist unter Codeplex verfügbar. Ein wichtiger Hinweis zum Code: Der Code wird nur zur Verdeutlichung für die logischen Konzepte bereitgestellt, die hier erläutert werden, und sollte nicht in einer Produktionsumgebung verwendet oder zu anderen als Lehrzwecken eingesetzt werden.