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); } } } } }