Esempio n. 1
0
        public static ActionResult DatabaseScriptAction(Session session)
        {
            string connectionString;
            string dataProviderString;
            string scriptPath;

            session.Log("Begin DatabaseScriptAction");

            // Get properties from the installer session
            connectionString   = session.CustomActionData["CONNECTIONSTRING"];
            dataProviderString = session.CustomActionData["DATAPROVIDERSTRING"];
            scriptPath         = session.CustomActionData["SCRIPTPATH"];

            try
            {
                // Execute the database script
                using (AdoDataConnection connection = new AdoDataConnection(connectionString, dataProviderString))
                {
                    connection.ExecuteScript(scriptPath);
                }
            }
            catch (Exception ex)
            {
                // Log the error and return failure code
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Failed to execute database script: {0}.", ex.Message));
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Database Script: {0}", scriptPath));
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Connection string: {0}", connectionString));
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Data provider string: {0}", dataProviderString));
                return(ActionResult.Failure);
            }

            session.Log("End DatabaseScriptAction");

            return(ActionResult.Success);
        }
Esempio n. 2
0
        public static ActionResult DatabaseScriptAction(Session session)
        {
            string connectionString;
            string dataProviderString;
            string scriptPath;

            session.Log("Begin DatabaseScriptAction");

            // Get properties from the installer session
            connectionString = session.CustomActionData["CONNECTIONSTRING"];
            dataProviderString = session.CustomActionData["DATAPROVIDERSTRING"];
            scriptPath = session.CustomActionData["SCRIPTPATH"];

            try
            {
                // Execute the database script
                using (AdoDataConnection connection = new AdoDataConnection(connectionString, dataProviderString))
                {
                    connection.ExecuteScript(scriptPath);
                }
            }
            catch (Exception ex)
            {
                // Log the error and return failure code
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Failed to execute database script: {0}.", ex.Message));
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Database Script: {0}", scriptPath));
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Connection string: {0}", connectionString));
                LogInstallMessage(session, EventLogEntryType.Error, string.Format("Data provider string: {0}", dataProviderString));
                return ActionResult.Failure;
            }

            session.Log("End DatabaseScriptAction");

            return ActionResult.Success;
        }
        public static ActionResult DatabaseScriptAction(Session session)
        {
            string connectionString;
            string dataProviderString;
            string scriptPath;

            LogInstallMessage(session, "Begin DatabaseScriptAction");

            // Get properties from the installer session
            connectionString = GetPropertyValue(session, "CONNECTIONSTRING");
            dataProviderString = GetPropertyValue(session, "DATAPROVIDERSTRING");
            scriptPath = GetPropertyValue(session, "SCRIPTPATH");

            try
            {
                // Execute the database script
                using (AdoDataConnection connection = new AdoDataConnection(connectionString, dataProviderString))
                {
                    connection.ExecuteScript(scriptPath);
                }
            }
            catch (Exception ex)
            {
                // Log the error and return failure code
                string message = $"Failed to execute database script: {ex.Message}.";
                LogInstallMessage(session, InstallMessage.Error, message);
                LogInstallMessage(session, EventLogEntryType.Error, ex);

                LogInstallMessage(session, InstallMessage.Error,
                    $"Database Script: {scriptPath}{Environment.NewLine}" +
                    $"Connection string: {connectionString}{Environment.NewLine}" +
                    $"Data provider string: {dataProviderString}");

                return ActionResult.Failure;
            }

            LogInstallMessage(session, "End DatabaseScriptAction");

            return ActionResult.Success;
        }