I have done several 5.6.1 upgrades today, but this one confounds me:
Upgrading DotNetNuke
Current Assembly Version: 05.06.01
Current Database Version: 05.06.00
Upgrade Status Report
00:02:02.424 - Upgrading to Version: 05.06.01
00:02:06.083 - Executing Script: 05.06.01.SqlDataProvider Error! (see 05.06.01.log.resources for more information)
Server Error in '/' Application.
Runtime Error
The file "05.06.01.log.resources" complains about a database key already being defined (highlight added). Does anyone have an idea why this is happening and/or how to avoid the error? My next idea is to uninstall all custom modules and try again. Could that be it?
System.Data.SqlClient.SqlException: Violation of UNIQUE KEY constraint 'IX_Lists_ListName_Value_Text_ParentID'. Cannot insert duplicate key in object 'dbo.Lists'.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (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.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)
/* DNN-12957 - Re-Add Profile Property Type Checkbox */
/*****************************************************/
IF NOT EXISTS (SELECT value FROM dbo.Lists WHERE ListName ='DataType' AND Value = 'Checkbox')
BEGIN
INSERT INTO dbo.Lists (
ListName,
Value,
Text,
DefinitionId,
PortalId,
SystemList
)
VALUES (
'DataType',
'Checkbox ',
'DotNetNuke.UI.WebControls.CheckEditControl, DotNetNuke',
-1,
-1,
1
)
END
System.Data.SqlClient.SqlException: There is already an object named 'GetAllUsers' in the database.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (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.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)
CREATE PROCEDURE dbo.[GetAllUsers]
@PortalID int,
@PageIndex int,
@PageSize int
AS
BEGIN
-- Set the page bounds
DECLARE
@PageLowerBound INT,
@PageUpperBound INT,
@RowsToReturn int
exec dbo.[CalculatePagingInformation] @PageIndex, @PageSize, @RowsToReturn output, @PageLowerBound output, @PageUpperBound output
if @PortalID is null
begin
with [tmpUsers] as (
select U.*, row_number() over (order by U.UserName) AS rowid
FROM dbo.vw_Users u
where U.PortalID IS NULL AND U.IsDeleted = 0
)
select * from [tmpUsers]
where rowid > @PageLowerBound and rowid < @PageUpperBound
order by rowid
end
else
begin
with [tmpUsers] as (
select U.*, row_number() over (order by U.UserName) AS rowid
FROM dbo.vw_Users u
WHERE U.PortalID = @PortalID AND U.IsDeleted = 0
)
select * from [tmpUsers]
where rowid > @PageLowerBound and rowid < @PageUpperBound
order by rowid
end
set rowcount 0
if @PortalId is null
begin
SELECT COUNT(*) as TotalRecords
FROM dbo.Users as U
WHERE U.IsDeleted = 0
AND NOT EXISTS (
select 1 from dbo.UserPortals UP where U.UserId = UP.UserId
)
end
else
begin
SELECT COUNT(*) as TotalRecords
FROM dbo.Users U
INNER JOIN dbo.UserPortals UP ON U.UserId = UP.UserId
WHERE UP.PortalId = @PortalId
AND UP.IsDeleted = 0
end
END