コード例 #1
0
 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
        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);
        }
コード例 #4
0
 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 ] );
 }
コード例 #5
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);
 }
コード例 #6
0
        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( );
        }
コード例 #7
0
 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)
     {
     }
 }
コード例 #8
0
        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);
        }