private static ActiveQueryBuilder.Core.SQLContext CreateAqbQbMSSS(DataModel.DataStore ds) { ActiveQueryBuilder.Core.SQLContext sc = new ActiveQueryBuilder.Core.SQLContext( ) { SyntaxProvider = new ActiveQueryBuilder.Core.MSSQLSyntaxProvider( ), MetadataProvider = new ActiveQueryBuilder.Core.MSSQLMetadataProvider( ) }; sc.MetadataProvider.Connection = new System.Data.SqlClient.SqlConnection(ds.ConnectionString); //qb.MetadataProvider.Connection = new System.Data.SQLite.SQLiteConnection( ds.ConnectionString ); return(sc); }
private static ActiveQueryBuilder.Core.SQLContext CreateAqbQbAuto(DataModel.DataStore ds) { ActiveQueryBuilder.Core.SQLContext qb = new ActiveQueryBuilder.Core.SQLContext( ) { SyntaxProvider = new ActiveQueryBuilder.Core.AutoSyntaxProvider( ), MetadataProvider = new ActiveQueryBuilder.Core.UniversalMetadataProvider( ) }; //qb.MetadataProvider.Connection = new System.Data.SqlClient.SqlConnection( ds.ConnectionString ); qb.MetadataProvider.Connection = new System.Data.SQLite.SQLiteConnection(ds.ConnectionString); return(qb); }
private static DataModel.MetadataItemCollection DumpMetadataItem(DataModel.DataStore ds, ActiveQueryBuilder.Core.SQLContext sc) { DataModel.MetadataItemCollection o = new DataModel.MetadataItemCollection( ); o.List = BuildBindingList(sc); // Export MetadataItem FQN Collection... string TempFileFullPathName = System.IO.Path.GetTempFileName( ); o.Save(TempFileFullPathName); // SQLite From TMP to "USER PATH" System.IO.File.Copy(TempFileFullPathName, ds.MiFqnFilename, true); // return(o); }
private static void DumpAqbQb(ActiveQueryBuilder.Core.SQLContext sc, DataModel.DataStore ds) { string path = Global.DataStoreCollectionPathName + Global.TS_STR; { // Export AQB’s Query Builder XML Structures… string xmlStr = sc.MetadataContainer.XML; sc.MetadataContainer.ExportToXML(ds.TempFileFullPathName); // SQLite From TMP to "USER PATH" System.IO.File.Copy(ds.TempFileFullPathName, ds.AqbQbFilename, true); // qb.MetadataContainer.ImportFromXML( filename ); } //tnm.ShowNotification( tnm.Notifications[ 0 ] ); }
/* * https://support.activequerybuilder.com/hc/en-us/articles/115001055349-Getting-started-with-AQB-NET-3-in-the-Separated-Controls-UI-or-Non-visual-mode * * Your initialization code will look as follows: * * // Non-visual objects * _sqlContext = new SQLContext * { * SyntaxProvider = new MSSQLSyntaxProvider * { * ServerVersion = MSSQLServerVersion.MSSQL2012 * }, * MetadataProvider = new OLEDBMetadataProvider * { * Connection = new OleDbConnection() * { * ConnectionString = "" * } * } * }; * * _sqlQuery = new SQLQuery(_sqlContext); * * Sergey Smagin * Ok, then you need only the SQLContext object. * * sqlContext.MetadataContainer.ExportToXML(); * */ private static ActiveQueryBuilder.Core.SQLContext CreateAqbQbSQLite(DataModel.DataStore ds) { ActiveQueryBuilder.Core.SQLContext sc = new ActiveQueryBuilder.Core.SQLContext( ) { SyntaxProvider = new ActiveQueryBuilder.Core.SQLiteSyntaxProvider( ), MetadataProvider = new ActiveQueryBuilder.Core.SQLiteMetadataProvider( ) { Connection = new System.Data.SQLite.SQLiteConnection( ) { ConnectionString = ds.ConnectionString } } }; return(sc); }
public static void Start() { DataModel.DataStoreCollection dsColl = DataModel.DataStoreCollection.LoadDataStoreCollection( ); if (dsColl.IsActive) { int activeCounter = 0; for (int i = 0; i < dsColl.List.Count; i++) { DataModel.DataStore ds = dsColl.List[i]; if (!ds.IsActive /*|| !ds.IsToPullRemotely*/) { continue; } activeCounter++; } li(" DataStores to pull: " + activeCounter); if (activeCounter > 0) { System.Threading.Thread.CurrentThread.Name = "Main"; System.Threading.Tasks.Task[] tasks = new System.Threading.Tasks.Task[activeCounter]; int counter = 0; for (int i = 0; i < dsColl.List.Count; i++) { DataModel.DataStore ds = dsColl.List[i]; if (!ds.IsActive /*|| !ds.IsToPullRemotely*/) { continue; } tasks[counter++] = System.Threading.Tasks.Task.Factory.StartNew(() => PullAndDump(ds), System.Threading.Tasks.TaskCreationOptions.LongRunning); } li(" Waiting..."); while (!System.Threading.Tasks.Task.WaitAll(tasks, 60 * 1000)) { foreach (var t in tasks) { System.Console.WriteLine(" Task #{0}: {1}", t.Id, t.Status); } li(" Waiting..."); } } } dsColl.SaveDataStoreCollection( ); }
private static void PullAndDump(DataModel.DataStore ds) { try { ActiveQueryBuilder.Core.SQLContext qb = PullMetadata(ds); if (qb == null) { return; } DumpAqbQb(qb, ds); DataModel.MetadataItemCollection miColl = DumpMetadataItem(ds, qb); // publish( qb, ds ); // push( qb, ds ); // baseline( qb, ds ); // diff( qb, ds ); // thesaurus( qb, ds ); // watchers( qb, ds ); // log( qb, ds ); } catch (System.Exception ex) { } }
private static ActiveQueryBuilder.Core.SQLContext PullMetadata(DataModel.DataStore ds) { ActiveQueryBuilder.Core.SQLContext sc; switch ((DataModel.DataStore.SyntaxProviderEnum)ds.SyntaxProvider) { case DataModel.DataStore.SyntaxProviderEnum.SQLITE: sc = CreateAqbQbSQLite(ds); break; case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_2014: return(sc = null); // CreateAqbQbMSSS( ds ); // break; case DataModel.DataStore.SyntaxProviderEnum.AUTO: return(sc = null); // CreateAqbQbAuto( ds ); // break; case DataModel.DataStore.SyntaxProviderEnum.GENERIC: case DataModel.DataStore.SyntaxProviderEnum.ANSI_SQL_2003: case DataModel.DataStore.SyntaxProviderEnum.ANSI_SQL_89: case DataModel.DataStore.SyntaxProviderEnum.ANSI_SQL_92: case DataModel.DataStore.SyntaxProviderEnum.FIREBIRD_1_0: case DataModel.DataStore.SyntaxProviderEnum.FIREBIRD_1_5: case DataModel.DataStore.SyntaxProviderEnum.FIREBIRD_2_0: case DataModel.DataStore.SyntaxProviderEnum.FIREBIRD_2_5: case DataModel.DataStore.SyntaxProviderEnum.IBM_DB2: case DataModel.DataStore.SyntaxProviderEnum.IBM_INFORMIX_10: case DataModel.DataStore.SyntaxProviderEnum.IBM_INFORMIX_8: case DataModel.DataStore.SyntaxProviderEnum.IBM_INFORMIX_9: case DataModel.DataStore.SyntaxProviderEnum.MS_ACCESS_2000: case DataModel.DataStore.SyntaxProviderEnum.MS_ACCESS_2003: case DataModel.DataStore.SyntaxProviderEnum.MS_ACCESS_97: case DataModel.DataStore.SyntaxProviderEnum.MS_ACCESS_XP: case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_2000: case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_2005: case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_2008: case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_2012: case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_7: case DataModel.DataStore.SyntaxProviderEnum.MS_SQL_SERVER_COMPACT_EDITION: case DataModel.DataStore.SyntaxProviderEnum.MYSQL_3_XX: case DataModel.DataStore.SyntaxProviderEnum.MYSQL_4_0: case DataModel.DataStore.SyntaxProviderEnum.MYSQL_4_1: case DataModel.DataStore.SyntaxProviderEnum.MYSQL_5_0: case DataModel.DataStore.SyntaxProviderEnum.ORACLE_10: case DataModel.DataStore.SyntaxProviderEnum.ORACLE_11: case DataModel.DataStore.SyntaxProviderEnum.ORACLE_7: case DataModel.DataStore.SyntaxProviderEnum.ORACLE_8: case DataModel.DataStore.SyntaxProviderEnum.ORACLE_9: case DataModel.DataStore.SyntaxProviderEnum.POSTGRESQL: case DataModel.DataStore.SyntaxProviderEnum.SYBASE_ASE: case DataModel.DataStore.SyntaxProviderEnum.SYBASE_SQL_ANYWHERE: case DataModel.DataStore.SyntaxProviderEnum.TERADATA: case DataModel.DataStore.SyntaxProviderEnum.VISTADB: default: return(null); } ActiveQueryBuilder.Core.MetadataLoadingOptions loadingOptions = sc.MetadataContainer.LoadingOptions; loadingOptions.LoadDefaultDatabaseOnly = ds.LoadDefaultDatabaseOnly; loadingOptions.LoadSystemObjects = ds.LoadSystemObjects; //loadingOptions.IncludeFilter.Types = MetadataType.Field; //loadingOptions.ExcludeFilter.Schemas.Add(“dbo”); { ds.PullTS = System.DateTime.Now; string x = string.Format(Global.TS_MASK_FORMAT, ds.PullTS).Replace(":", ""); ds.TempFileFullPathName = System.IO.Path.GetTempFileName( ); ds.AqbQbFilename = Global.DataStoreCollectionPathName + x + "." + ds.Name + Global.FileExtensionXmlAqbQb; ds.MiFqnFilename = Global.DataStoreCollectionPathName + x + "." + ds.Name + Global.FileExtensionXmlMiFqn; } sc.MetadataContainer.LoadAll(ds.WithFields); //qb.InitializeDatabaseSchemaTree( ); return(sc); }