Greetings Community,
I have a dnn 4.9 installation that hosts 5 child portals.
Recently when I was adding a child portal I got some kind of a time-out error (possibly related to a DNS problem) and the portal setup failed resulting in a page not found error when I tried to access it. When I try to delete the child portal from my host-portals list it throws the following error:
Error: Portals is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. The statement has been terminated. ---> System.Data.SqlClient.SqlException: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 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.DeletePortalInfo(Int32 PortalId) at DotNetNuke.Entities.Portals.PortalController.DeletePortalInfo(Int32 PortalId) at DotNetNuke.Entities.Portals.PortalController.DeletePortal(PortalInfo portal, String serverPath) at DotNetNuke.Modules.Admin.Portals.Portals.grdPortals_DeleteCommand(Object source, DataGridCommandEventArgs e) --- End of inner exception stack trace ---
Here is what I can see so far:
The /portals directory does not contain a portal directory for the broken portal (in this case portal Id 9)
When examining the various tables in enterprise manager, I can see references to the broken portal (Portal Id) in the following tables:
dbo.profiles
dbo.portals
dbo.PortalAlias
dbo.Roles
Is it safe to delete the references in the database, or does someone know a smart way to do it so i dont end up with too many orphaned records?
I have spend 2 days searching google for answers but nothing has really provided a good answer.
Kind regards
Sebastian