public static void ExportPlatformMetamodel(string dbEngine, OSDiagToolConf.ConfModel.strConfModel configurations, OSDiagToolForm.OsDiagFormConfModel.strFormConfigurationsModel FormConfigurations,
                                                   DBConnector.SQLConnStringModel sqlConnString = null, DBConnector.OracleConnStringModel oracleConnString = null)
        {
            FileLogger.TraceLog("Exporting Platform Metamodel...");

            Directory.CreateDirectory(_osMetamodelTablesDest);

            if (dbEngine.Equals("sqlserver"))
            {
                var           connector  = new DBConnector.SLQDBConnector();
                SqlConnection connection = connector.SQLOpenConnection(sqlConnString);

                using (connection) {
                    bool isLifeTimeEnvironment = Platform.PlatformUtils.IsLifeTimeEnvironment(dbEngine, configurations.queryTimeout, connection);

                    FileLogger.TraceLog("Starting exporting tables: ");
                    foreach (string table in FormConfigurations.metamodelTables)
                    {
                        if ((isLifeTimeEnvironment && table.ToLower().StartsWith("osltm") || table.ToLower().StartsWith("ossys")))
                        {
                            FileLogger.TraceLog(table + ", ", writeDateTime: false);
                            string selectAllQuery = "SELECT * FROM " + table;
                            CSVExporter.SQLToCSVExport(dbEngine, table, _osMetamodelTablesDest, configurations.queryTimeout, selectAllQuery, connection, null);
                        }
                    }
                }
            }
            else if (dbEngine.Equals("oracle"))
            {
                var connector = new DBConnector.OracleDBConnector();
                OracleConnection connection = connector.OracleOpenConnection(oracleConnString);

                string platformDBAdminUser = Platform.PlatformUtils.GetPlatformDBAdminUser();

                using (connection) {
                    bool isLifeTimeEnvironment = Platform.PlatformUtils.IsLifeTimeEnvironment(dbEngine, configurations.queryTimeout, null, connection, platformDBAdminUser);

                    FileLogger.TraceLog("Starting exporting tables: ");
                    foreach (string table in FormConfigurations.metamodelTables)
                    {
                        if ((isLifeTimeEnvironment && table.ToLower().StartsWith("osltm") || table.ToLower().StartsWith("ossys")))
                        {
                            FileLogger.TraceLog(table + ", ", writeDateTime: false);
                            string selectAllQuery = "SELECT * FROM " + platformDBAdminUser + "." + table;
                            CSVExporter.ORCLToCsvExport(connection, table, _osMetamodelTablesDest, configurations.queryTimeout, platformDBAdminUser, selectAllQuery);
                        }
                    }
                }
            }
        }