public void Connect() { try { var vw = (Window)this.GetView(); vw.Visibility = Visibility.Hidden; using (var c = new ADOTabularConnection(ConnectionString, AdomdType.AnalysisServices)) { c.Open(); } if (ServerModeSelected) { RegistryHelper.SaveServerMRUListToRegistry(DataSource, RecentServers); } var connEvent = new ConnectEvent(ConnectionString, PowerPivotModeSelected, WorkbookName, GetApplicationName(ConnectionType), ""); if (PowerBIModeSelected) { connEvent.PowerBIFileName = SelectedPowerBIInstance.Name; } _eventAggregator.PublishOnUIThread(connEvent); } catch (Exception ex) { Log.Error("{class} {method} Error Connecting using: {connStr}", "ConnectionDialogViewModel", "Connect", ConnectionString); _activeDocument.OutputError(String.Format("Could not connect to '{0}': {1}", PowerPivotModeSelected?"Power Pivot model":DataSource, ex.Message)); _eventAggregator.PublishOnUIThread(new CancelConnectEvent()); } finally { _eventAggregator.Unsubscribe(this); SelectedServerSetFocus = false; TryClose(true); } }
public void TestInvalidCSDLKPIs() { ADOTabularConnection c = new ADOTabularConnection(ConnectionString + ";Initial Catalog=AW Internet Sales Tabular Model 2014", AdomdType.AnalysisServices); c.Open(); MetaDataVisitorCSDL v = new MetaDataVisitorCSDL(c); ADOTabularModel m = new ADOTabularModel(c, "Test", "Test Caption", "Test Description", ""); System.Xml.XmlReader xr = new System.Xml.XmlTextReader(@"..\..\data\aw_internetsales_2014_csdl.xml"); var tabs = new ADOTabularTableCollection(c, m); v.GenerateTablesFromXmlReader(tabs, xr); var cmpyTab = tabs["Internet Sales"]; Assert.AreEqual("Internet Sales", cmpyTab.Caption, "Table Name is translated"); }
public async Task <bool> HasSchemaChangedAsync() { return(await _retry.Execute(async() => { bool hasChanged = await Task.Run(() => { var conn = new ADOTabularConnection(this.ConnectionString, this.Type); conn.ChangeDatabase(this.SelectedDatabaseName); if (conn.State != ConnectionState.Open) { conn.Open(); } var dbChanges = conn.Database?.LastUpdate > _lastSchemaUpdate; conn.Close(true); // close and end the session return dbChanges; }); return hasChanged; })); }