コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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);
                        }
                    }
                }
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }