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