static void Main(string[] args) { OSDiagToolConfReader dgtConfReader = new OSDiagToolConfReader(); var configurations = dgtConfReader.GetOsDiagToolConfigurations(); try { RegistryKey OSPlatformInstaller = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(_osServerRegistry); osPlatformVersion = (string)OSPlatformInstaller.GetValue("Server"); } catch (Exception e) { osPlatformVersion = null; } if (osPlatformVersion == null) { Application.Run(new OSDiagToolForm.puf_popUpForm(OSDiagToolForm.puf_popUpForm._feedbackErrorType, "OutSystems Platform Server not found. ")); } else { _osInstallationFolder = Platform.PlatformUtils.GetPlatformInstallationPath(_osServerRegistry); _platformConfigurationFilepath = Path.Combine(_osInstallationFolder, "server.hsconf"); ConfigFileReader confFileParser = new ConfigFileReader(_platformConfigurationFilepath, osPlatformVersion); ConfigFileDBInfo platformDBInfo = confFileParser.DBPlatformInfo; dbEngine = platformDBInfo.DBMS.ToLower(); var sqlConnString = new DBConnector.SQLConnStringModel(); var orclConnString = new DBConnector.OracleConnStringModel(); if (dbEngine.Equals("sqlserver")) { sqlConnString.dataSource = platformDBInfo.GetProperty("Server").Value; sqlConnString.initialCatalog = platformDBInfo.GetProperty("Catalog").Value; } else if (dbEngine.Equals("oracle")) { orclConnString.host = platformDBInfo.GetProperty("Host").Value; orclConnString.port = platformDBInfo.GetProperty("Port").Value; orclConnString.serviceName = platformDBInfo.GetProperty("ServiceName").Value; } Application.EnableVisualStyles(); Application.Run(new OSDiagToolForm.OsDiagForm(configurations, platformDBInfo.DBMS, sqlConnString, orclConnString)); } }
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); } } } } }
public static void ExportServiceCenterLogs(string dbEngine, OSDiagToolConf.ConfModel.strConfModel configurations, OSDiagToolForm.OsDiagFormConfModel.strFormConfigurationsModel FormConfigurations, DBConnector.SQLConnStringModel sqlConnString = null, DBConnector.OracleConnStringModel oracleConnString = null, string adminSchema = null) { FileLogger.TraceLog(string.Format("Exporting Platform logs ({0} records)...", FormConfigurations.osLogTopRecords)); Directory.CreateDirectory(_osPlatformLogs); List <string> platformLogs = new List <string>(); foreach (string table in configurations.tableNames) // add only oslog tables to list { if (table.ToLower().StartsWith("oslog")) { platformLogs.Add(table); } } if (dbEngine.Equals("sqlserver")) { Platform.LogExporter.PlatformLogExporter(dbEngine, platformLogs, FormConfigurations, _osPlatformLogs, configurations.queryTimeout, sqlConnString, null); } else if (dbEngine.Equals("oracle")) { Platform.LogExporter.PlatformLogExporter(dbEngine, platformLogs, FormConfigurations, _osPlatformLogs, configurations.queryTimeout, null, oracleConnString, adminSchema); } }
public static void DatabaseTroubleshootProgram(OSDiagToolConf.ConfModel.strConfModel configurations, DBConnector.SQLConnStringModel sqlConnString = null, DBConnector.OracleConnStringModel orclConnString = null) { Directory.CreateDirectory(_osDatabaseTroubleshootDest); try { FileLogger.TraceLog(string.Format("Performing {0} Database Troubleshoot...", dbEngine.ToUpper())); if (dbEngine.Equals("sqlserver")) { Database.DatabaseQueries.DatabaseTroubleshoot.DatabaseTroubleshooting(dbEngine, configurations, _osDatabaseTroubleshootDest, sqlConnString, null); } else if (dbEngine.Equals("oracle")) { Database.DatabaseQueries.DatabaseTroubleshoot.DatabaseTroubleshooting(dbEngine, configurations, _osDatabaseTroubleshootDest, null, orclConnString); } } catch (Exception e) { FileLogger.LogError("Failed to perform Database Troubleshoot", e.Message + e.StackTrace); } }