Representación de conexión (tabular)
El objeto de conexión define el origen de datos que rellena el modelo tabular.
Representación de conexión
El objeto de conexión define el origen de datos que rellena el modelo tabular. Es a través del objeto de conexión que el modelo puede tener acceso a los datos de un proveedor OLE DB; la especificación del objeto de conexión sigue las reglas de los proveedores OLE DB.
Conexión en AMO
Cuando use AMO para administrar una base de datos de modelo tabular, el objeto DataSource en AMO coincide de forma unívoca con la conexión lógica de un modelo tabular.
En el fragmento de código siguiente se muestra cómo se crea un objeto de conexión o un origen de datos de AMO en modelos tabulares.
//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();
Ejemplo AMO2Tabular
Para obtener una descripción más detallada acerca de cómo se usa AMO para crear y tratar representaciones de conexión, vea el código fuente del ejemplo AMO a tabular; en concreto, revise el siguiente archivo fuente: Datasource.cs. El ejemplo está disponible en Codeplex. Una nota importante sobre el código: se proporciona solo como apoyo de los conceptos lógicos explicados aquí y no debe utilizarse en un entorno de producción; no debe usarse para otros fines excepto el pedagógico.