|
|
|
|
Joined: 8/1/2012
Posts: 2
|
|
|
Hi there,
I tried making some small edits to the Announcements.css file and figured that renaming it/re-versioning it would be a good way to keep it apart from official updates. The 'update' seemed to come along without a hitch, but after installing the customised module it gave a long list of exceptions and I kind of freaked out and tried to uninstall the module so I could go back to the official release and hopefully it would be fixed. That was not the case.
The install didn't come off as cleanly as I'd have hoped, showing a number of exceptions and failures (even after removing all instances of it from the site), and now after reinstalling it fresh, I now an error message (and this is going back to the standard announcements 4.0.3) saying that there are no dbo files associated with the module.
That, and I think the originally modified module is still in existence as when I click to add the module 'announcements' two panes come up.... Oh god what I have I done and what is there that can be done about it? I apologise no end in bringing this to you but I thought it'd be the best place to come as I couldn't find anything like it (- and probably with good reason right?). Yes I have host privileges (though perhaps they might be misplaced if I can't fix something like this/I managed to break a module like this), and I can access to the root of the domain. And, as it turns out, since I was new to the role I wasn't aware that regular backups weren't ongoing - so I can't just do a restore to last Friday. Perhaps one day this can be an amusing anecdote to tell about the new guy who broke a module in so many ways it was unfathomable...
The uninstall mess:
Info |
Reading Component Manifest - Script |
Info |
Reading Component Manifest - Cleanup |
Info |
Reading Component Manifest - Module |
Info |
Module Manifest read successfully |
Info |
Reading Component Manifest - Assembly |
Info |
Reading Component Manifest - ResourceFile |
StartJob |
Starting Package Uninstall |
Info |
Starting Package Uninstall - DNN_Announcements |
Info |
Starting Component Uninstall - Script |
Info |
Begin Sql UnInstall |
Info |
Executing Uninstall.SqlDataProvider |
Info |
Start Sql execution: Uninstall.SqlDataProvider file |
Failure |
SQL Execution resulted in following Exceptions: System.Data.SqlClient.SqlException (0x80131904): Cannot find the object "dbo.Announcements" because it does not exist or you do not have permissions. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) /************************************************************/ /***** SqlDataProvider *****/ /***** *****/ /***** *****/ /***** Note: To manually execute this script you must *****/ /***** perform a search and replace operation *****/ /***** for dbo. and *****/ /***** *****/ /************************************************************/ /** Drop Announcements Table **/ ALTER TABLE dbo.[Announcements] DROP CONSTRAINT [FK_Announcements_Modules] System.Data.SqlClient.SqlException (0x80131904): Cannot find the object "dbo.Announcements" because it does not exist or you do not have permissions. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) ALTER TABLE dbo.[Announcements] DROP CONSTRAINT [PK_Announcements] System.Data.SqlClient.SqlException (0x80131904): Cannot drop the index 'dbo.Announcements.IX_Announcements', because it does not exist or you do not have permission. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) DROP INDEX dbo.[Announcements].[IX_Announcements] System.Data.SqlClient.SqlException (0x80131904): Cannot drop the table 'dbo.Announcements', because it does not exist or you do not have permission. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) DROP TABLE dbo.[Announcements] |
Info |
End Sql execution: Uninstall.SqlDataProvider file |
Info |
End Sql UnInstall |
Info |
Component uninstalled successfully - Script |
Warning |
Component Uninstalled with Warnings - Script |
Info |
Starting Component Uninstall - Cleanup |
Info |
Component uninstalled successfully - Cleanup |
Info |
Component Uninstall Successful - Cleanup |
Info |
Starting Component Uninstall - Module |
Failure |
ExceptionSystem.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Data.SqlDataProvider.DeleteDesktopModule(Int32 desktopModuleId) at DotNetNuke.Entities.Modules.DesktopModuleController.DeleteDesktopModule(Int32 desktopModuleID) at DotNetNuke.Services.Installer.Installers.ModuleInstaller.DeleteModule() |
Info |
Component uninstalled successfully - Module |
Warning |
Component Uninstalled with Warnings - Module |
Info |
Starting Component Uninstall - Assembly |
Info |
Assembly unregistered - bin\DotNetNuke.Modules.Announcements.dll |
Info |
Assembly unregistered - bin\DotNetNuke.Modules.Announcements.SqlDataProvider.dll |
Info |
Component uninstalled successfully - Assembly |
Info |
Component Uninstall Successful - Assembly |
Info |
Starting Component Uninstall - ResourceFile |
Info |
Component uninstalled successfully - ResourceFile |
Info |
Component Uninstall Successful - ResourceFile |
Failure |
ExceptionSystem.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Data.SqlDataProvider.DeleteDesktopModule(Int32 desktopModuleId) at DotNetNuke.Entities.Modules.DesktopModuleController.DeleteDesktopModule(Int32 desktopModuleID) at DotNetNuke.Services.Installer.Packages.PackageController.DeletePackage(PackageInfo package) at DotNetNuke.Services.Installer.Installers.PackageInstaller.UnInstall() at DotNetNuke.Services.Installer.Installer.UnInstallPackages(Boolean deleteFiles) at DotNetNuke.Services.Installer.Installer.UnInstall(Boolean deleteFiles) |
And the mess when I add the module to a page:
Error: Announcements is currently unavailable.DotNetNuke.Services.Exceptions.ModuleLoadException: The stored procedure 'dbo.dnnAnnouncements_GetCurrent' doesn't exist. ---> System.InvalidOperationException: The stored procedure 'dbo.dnnAnnouncements_GetCurrent' doesn't exist. at System.Data.SqlClient.SqlCommand.DeriveParameters() at System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(SqlCommand command) at Microsoft.ApplicationBlocks.Data.SqlHelperParameterCache.DiscoverSpParameterSet(SqlConnection connection, String spName, Boolean includeReturnValueParameter, Object[] parameterValues) at Microsoft.ApplicationBlocks.Data.SqlHelperParameterCache.GetSpParameterSetInternal(SqlConnection connection, String spName, Boolean includeReturnValueParameter) at Microsoft.ApplicationBlocks.Data.SqlHelperParameterCache.GetSpParameterSet(String connectionString, String spName, Boolean includeReturnValueParameter) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Modules.Announcements.SqlDataProvider.GetCurrent(Int32 ModuleId, DateTime StartDate) at DotNetNuke.Modules.Announcements.AnnouncementsController.GetCurrentAnnouncements(Int32 ModuleId, DateTime StartDate) at DotNetNuke.Modules.Announcements.Announcements.BindData() at DotNetNuke.Modules.Announcements.Announcements.OnLoad(EventArgs e) --- End of inner exception stack trace ---
|
|
|
|
| |
|
|
|
Joined: 8/1/2012
Posts: 2
|
|
|
(Sorry for the double post)
So it turns out we do have a backup service which they didn't realise we were paying for when I contacted our hosting company, so I'm reverting to the version that was there before this debacle.
The case is now resolved by going to a backup, so the thread could be deleted or if there is a solution to the exceptions raised it could be left for future reference.
|
|
|
|
| |
|
|
|
Joined: 8/10/2003
Posts: 3594
|
|
|
Looks as a databaseOwner or objectQualifer property issue on the uninstall.SQLDataProvider. After you run the uninstall the most of the module files and database artifacts are uninstalled, except the artifacts where you get a error. This means the module did no longer work even you re-install it.
The solution is to Manual delete the Announcements module database artifacts from your database. Check all Tables, Procedures, Viewes and Functions for Artifacts of the Announcements module. Please backup your database first!!!
After you cleaned the Database from the artifacts you can retry to run the uninstall of the Announcements module.
If you want to check what your databaseOwner and objectQualifier proberties value is, you can found it on your web.config file. On the SqlDataProviders it is used as this sample:
{databaseOwner}[{objectQualifier}Tablename]
{databaseOwner}[{objectQualifier}Procedure]
{databaseOwner}[{objectQualifier}View]
{databaseOwner}[{objectQualifier}Function]
and have to be used also into the T-SQL code of views, procedures and functions. Except you call from the SQL Server System eg. dbo.sysobjects ! Sample:
IF EXISTS (select * from dbo.sysobjects where id = object_id(N'FK_{objectQualifier}Feedback_{objectQualifier}Modules '))
ALTER TABLE {databaseOwner}[{objectQualifier}Feedback] DROP CONSTRAINT FK_{objectQualifier}Feedback_{objectQualifier}Modules
GO
If you hardcode the objectQualifier on the script eg this wrong sample:
ALTER TABLE dbo.Feedback DROP CONSTRAINT FK_{objectQualifier}Feedback_{objectQualifier}Modules
GO
the script can not find the table 'dbo.Feedback' if your databaseOwner value on the web.config file is 'dbusername' (Default Schema on SQL Database should then also be 'dbusername' !), and you got an error on install or uninstall wizard!
Hope this helps you!
|
|
|
|
| |