Пример #1
0
 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);
     }
 }
Пример #2
0
        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");
        }
Пример #3
0
        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;
            }));
        }