I logged the issue in Gemini: http://support.dotnetnuke.com/issue/ViewIssue.aspx?id=10526&PROJID=23
00:00:00.140 - Upgrading to Version: 05.01.01
00:00:00.171 - Executing Script: 03.02.00.SqlDataProvider Success
00:00:00.343 - Executing Script: 03.02.01.SqlDataProvider Success
00:00:41.185 - Executing Script: 03.02.02.SqlDataProvider Success
00:00:41.263 - Executing Script: 03.02.03.SqlDataProvider Error! (see 03.02.03.log for more information)
00:00:49.731 - Executing Script: 03.02.04.SqlDataProvider Success
00:00:49.887 - Executing Script: 03.02.05.SqlDataProvider Success
00:00:49.950 - Executing Script: 03.02.06.SqlDataProvider Success
00:00:50.012 - Executing Script: 03.02.07.SqlDataProvider Success
00:00:50.028 - Executing Script: 03.03.00.SqlDataProvider Success
00:00:50.075 - Executing Script: 03.03.01.SqlDataProvider Error! (see 03.03.01.log for more information)
00:00:50.903 - Executing Script: 03.03.02.SqlDataProvider Success
00:00:51.153 - Executing Script: 03.03.03.SqlDataProvider Success
00:00:51.434 - Executing Script: 04.00.00.SqlDataProvider Success
00:00:51.762 - Executing Script: 04.00.01.SqlDataProvider Success
00:00:51.981 - Executing Script: 04.00.02.SqlDataProvider Success
00:00:52.012 - Executing Script: 04.00.03.SqlDataProvider Success
00:00:52.059 - Executing Script: 04.00.04.SqlDataProvider Success
00:00:53.918 - Executing Script: 04.00.05.SqlDataProvider Success
00:00:53.934 - Executing Script: 04.00.06.SqlDataProvider Success
00:00:53.965 - Executing Script: 04.00.07.SqlDataProvider Success
00:00:53.981 - Executing Script: 04.03.00.SqlDataProvider Success
00:00:54.028 - Executing Script: 04.03.01.SqlDataProvider Error! (see 04.03.01.log for more information)
00:00:54.965 - Executing Script: 04.03.02.SqlDataProvider Success
00:00:55.028 - Executing Script: 04.03.03.SqlDataProvider Success
00:00:55.215 - Executing Script: 04.03.04.SqlDataProvider Success
00:00:55.231 - Executing Script: 04.03.05.SqlDataProvider Success
00:00:55.434 - Executing Script: 04.03.06.SqlDataProvider Success
00:00:55.668 - Executing Script: 04.03.07.SqlDataProvider Success
00:00:55.840 - Executing Script: 04.04.00.SqlDataProvider Success
00:00:58.293 - Executing Script: 04.04.01.SqlDataProvider Success
00:00:58.371 - Executing Script: 04.05.00.SqlDataProvider Success
00:00:59.652 - Executing Script: 04.05.01.SqlDataProvider Error! (see 04.05.01.log for more information)
00:05:03.170 - Executing Script: 04.05.02.SqlDataProvider Success
00:05:06.857 - Executing Script: 04.05.03.SqlDataProvider Success
00:05:06.935 - Executing Script: 04.05.04.SqlDataProvider Success
00:05:07.060 - Executing Script: 04.05.05.SqlDataProvider Success
00:05:07.076 - Executing Script: 04.06.00.SqlDataProvider Success
00:05:07.841 - Executing Script: 04.06.01.SqlDataProvider Success
00:05:07.857 - Executing Script: 04.06.02.SqlDataProvider Success
00:05:07.872 - Executing Script: 04.07.00.SqlDataProvider Success
00:05:08.044 - Executing Script: 04.08.00.SqlDataProvider Success
00:05:08.122 - Executing Script: 04.08.01.SqlDataProvider Success
00:05:08.200 - Executing Script: 04.08.02.SqlDataProvider Success
00:05:08.216 - Executing Script: 04.09.00.SqlDataProvider Success
00:05:08.279 - Executing Script: 04.09.01.SqlDataProvider Success
00:05:08.669 - Executing Script: 05.00.00.SqlDataProvider Error! (see 05.00.00.log for more information)
00:05:14.966 - Executing Script: 05.00.01.SqlDataProvider Success
00:05:15.747 - Executing Script: 05.01.00.SqlDataProvider Success
00:05:20.012 - Executing Script: 05.01.01.SqlDataProvider Success
00:05:20.294 - Executing Application Upgrades: 03.02.00 Success
00:05:20.294 - Executing Application Upgrades: 03.02.01 Success
00:05:20.294 - Executing Application Upgrades: 03.02.02 Success
00:05:20.294 - Executing Application Upgrades: 03.02.03 Success
00:05:20.559 - Executing Application Upgrades: 03.02.04 Success
00:05:20.559 - Executing Application Upgrades: 03.02.05 Success
00:05:20.559 - Executing Application Upgrades: 03.02.06 Success
00:05:20.559 - Executing Application Upgrades: 03.02.07 Success
00:05:20.559 - Executing Application Upgrades: 03.03.00 Success
00:05:20.559 - Executing Application Upgrades: 03.03.01 Success
00:05:20.559 - Executing Application Upgrades: 03.03.02 Success
00:05:20.559 - Executing Application Upgrades: 03.03.03 Success
00:05:20.559 - Executing Application Upgrades: 04.00.00 Success
00:05:20.559 - Executing Application Upgrades: 04.00.01 Success
00:05:20.559 - Executing Application Upgrades: 04.00.02 Success
00:05:20.559 - Executing Application Upgrades: 04.00.03 Success
00:05:20.559 - Executing Application Upgrades: 04.00.04 Success
00:05:20.559 - Executing Application Upgrades: 04.00.05 Success
00:05:20.559 - Executing Application Upgrades: 04.00.06 Success
00:05:20.559 - Executing Application Upgrades: 04.00.07 Success
00:05:20.559 - Executing Application Upgrades: 04.03.00 Success
00:05:20.559 - Executing Application Upgrades: 04.03.01 Success
00:05:20.559 - Executing Application Upgrades: 04.03.02 Success
00:05:20.559 - Executing Application Upgrades: 04.03.03 Success
00:05:20.559 - Executing Application Upgrades: 04.03.04 Success
00:05:20.559 - Executing Application Upgrades: 04.03.05 Success
00:05:20.559 - Executing Application Upgrades: 04.03.06 Success
00:05:20.559 - Executing Application Upgrades: 04.03.07 Success
00:05:20.559 - Executing Application Upgrades: 04.04.00 Success
00:05:20.622 - Executing Application Upgrades: 04.04.01 Success
00:05:20.622 - Executing Application Upgrades: 04.05.00 Success
00:05:20.622 - Executing Application Upgrades: 04.05.01 Success
00:05:20.622 - Executing Application Upgrades: 04.05.02 Success
00:05:20.622 - Executing Application Upgrades: 04.05.03 Success
00:05:20.622 - Executing Application Upgrades: 04.05.04 Success
00:05:20.622 - Executing Application Upgrades: 04.05.05 Success
00:05:20.637 - Executing Application Upgrades: 04.06.00 Success
00:05:20.637 - Executing Application Upgrades: 04.06.01 Success
00:05:20.637 - Executing Application Upgrades: 04.06.02 Success
00:05:20.637 - Executing Application Upgrades: 04.07.00 Success
00:05:20.653 - Executing Application Upgrades: 04.08.00 Success
00:05:20.653 - Executing Application Upgrades: 04.08.01 Success
00:05:20.653 - Executing Application Upgrades: 04.08.02 Success
00:05:20.700 - Executing Application Upgrades: 04.09.00 Success
00:05:20.700 - Executing Application Upgrades: 04.09.01 Success
00:05:20.700 - Executing Application Upgrades: 05.00.00 Success
00:05:26.731 - Executing Application Upgrades: 05.00.01 Success
00:05:26.746 - Executing Application Upgrades: 05.01.00 Success
00:05:30.012 - Executing Application Upgrades: 05.01.01 Success
00:05:30.090 - Cleaning Up Files: 03.02.00 Success
00:05:30.090 - Cleaning Up Files: 03.02.01 Success
00:05:30.105 - Cleaning Up Files: 03.02.02 Success
00:05:30.105 - Cleaning Up Files: 03.02.03 Success
00:05:30.105 - Cleaning Up Files: 03.02.04 Success
00:05:30.105 - Cleaning Up Files: 03.02.05 Success
00:05:30.105 - Cleaning Up Files: 03.02.06 Success
00:05:30.105 - Cleaning Up Files: 03.02.07 Success
00:05:30.105 - Cleaning Up Files: 03.03.00 Success
00:05:30.105 - Cleaning Up Files: 03.03.01 Success
00:05:30.105 - Cleaning Up Files: 03.03.02 Success
00:05:30.105 - Cleaning Up Files: 03.03.03 Success
00:05:30.105 - Cleaning Up Files: 04.00.00 Success
00:05:30.105 - Cleaning Up Files: 04.00.01 Success
00:05:30.105 - Cleaning Up Files: 04.00.02 Success
00:05:30.105 - Cleaning Up Files: 04.00.03 Success
00:05:30.105 - Cleaning Up Files: 04.00.04 Success
00:05:30.105 - Cleaning Up Files: 04.00.05 Success
00:05:30.105 - Cleaning Up Files: 04.00.06 Success
00:05:30.105 - Cleaning Up Files: 04.00.07 Success
00:05:30.105 - Cleaning Up Files: 04.03.00 Success
00:05:30.105 - Cleaning Up Files: 04.03.01 Success
00:05:30.105 - Cleaning Up Files: 04.03.02 Success
00:05:30.105 - Cleaning Up Files: 04.03.03 Success
00:05:30.121 - Cleaning Up Files: 04.03.04 Success
00:05:30.121 - Cleaning Up Files: 04.03.05 Success
00:05:30.121 - Cleaning Up Files: 04.03.06 Success
00:05:30.121 - Cleaning Up Files: 04.03.07 Success
00:05:30.121 - Cleaning Up Files: 04.04.00 Success
00:05:30.121 - Cleaning Up Files: 04.04.01 Success
00:05:30.121 - Cleaning Up Files: 04.05.00 Success
00:05:30.121 - Cleaning Up Files: 04.05.01 Success
00:05:30.184 - Cleaning Up Files: 04.05.02 Success
00:05:30.184 - Cleaning Up Files: 04.05.03 Success
00:05:30.184 - Cleaning Up Files: 04.05.04 Success
00:05:30.184 - Cleaning Up Files: 04.05.05 Success
00:05:30.184 - Cleaning Up Files: 04.06.00 Success
00:05:30.184 - Cleaning Up Files: 04.06.01 Success
00:05:30.184 - Cleaning Up Files: 04.06.02 Success
00:05:30.184 - Cleaning Up Files: 04.07.00 Success
00:05:30.199 - Cleaning Up Files: 04.08.00 Success
00:05:30.199 - Cleaning Up Files: 04.08.01 Success
00:05:30.199 - Cleaning Up Files: 04.08.02 Success
00:05:30.199 - Cleaning Up Files: 04.09.00 Success
00:05:30.215 - Cleaning Up Files: 04.09.01 Success
00:05:30.215 - Cleaning Up Files: 05.00.00 Success
00:05:30.293 - Cleaning Up Files: 05.00.01 Success
00:05:30.293 - Cleaning Up Files: 05.01.00 Success
00:05:30.371 - Cleaning Up Files: 05.01.01 Success
00:05:30.371 - Updating Config Files: 03.02.00 Success
00:05:30.371 - Updating Config Files: 03.02.01 Success
00:05:30.371 - Updating Config Files: 03.02.02 Success
00:05:30.371 - Updating Config Files: 03.02.03 Success
00:05:30.371 - Updating Config Files: 03.02.04 Success
00:05:30.371 - Updating Config Files: 03.02.05 Success
00:05:30.371 - Updating Config Files: 03.02.06 Success
00:05:30.371 - Updating Config Files: 03.02.07 Success
00:05:30.371 - Updating Config Files: 03.03.00 Success
00:05:30.371 - Updating Config Files: 03.03.01 Success
00:05:30.371 - Updating Config Files: 03.03.02 Success
00:05:30.371 - Updating Config Files: 03.03.03 Success
00:05:30.371 - Updating Config Files: 04.00.00 Success
00:05:30.371 - Updating Config Files: 04.00.01 Success
00:05:30.371 - Updating Config Files: 04.00.02 Success
00:05:30.371 - Updating Config Files: 04.00.03 Success
00:05:30.371 - Updating Config Files: 04.00.04 Success
00:05:30.371 - Updating Config Files: 04.00.05 Success
00:05:30.371 - Updating Config Files: 04.00.06 Success
00:05:30.371 - Updating Config Files: 04.00.07 Success
00:05:30.371 - Updating Config Files: 04.03.00 Success
00:05:30.371 - Updating Config Files: 04.03.01 Success
00:05:30.371 - Updating Config Files: 04.03.02 Success
00:05:30.371 - Updating Config Files: 04.03.03 Success
00:05:30.371 - Updating Config Files: 04.03.04 Success
00:05:30.371 - Updating Config Files: 04.03.05 Success
00:05:30.371 - Updating Config Files: 04.03.06 Success
00:05:30.371 - Updating Config Files: 04.03.07 Success
00:05:30.371 - Updating Config Files: 04.04.00 Success
00:05:30.371 - Updating Config Files: 04.04.01 Success
00:05:30.371 - Updating Config Files: 04.05.00 Success
00:05:30.371 - Updating Config Files: 04.05.01 Success
00:05:30.371 - Updating Config Files: 04.05.02 Success
00:05:30.371 - Updating Config Files: 04.05.03 Success
00:05:30.371 - Updating Config Files: 04.05.04 Success
00:05:30.371 - Updating Config Files: 04.05.05 Success
00:05:30.371 - Updating Config Files: 04.06.00 Success
00:05:30.418 - Updating Config Files: 04.06.01 Success
00:05:30.418 - Updating Config Files: 04.06.02 Success
00:05:30.418 - Updating Config Files: 04.07.00 Success
00:05:30.418 - Updating Config Files: 04.08.00 Success
00:05:30.434 - Updating Config Files: 04.08.01 Success
00:05:30.434 - Updating Config Files: 04.08.02 Success
00:05:30.434 - Updating Config Files: 04.09.00 Success
00:05:30.449 - Updating Config Files: 04.09.01 Success
00:05:30.449 - Updating Config Files: 05.00.00 Success
00:05:30.449 - Updating Config Files: 05.00.01 Success
00:05:30.449 - Updating Config Files: 05.01.00 Success
00:05:30.465 - Updating Config Files: 05.01.01 Success
00:05:30.465 - Performing General Upgrades
00:05:32.652 - Installing Optional Modules:
00:05:32.652 - Installing Package File HTML_Community_05.01.02_Install: Success
00:05:35.090 - Installing Optional Skins:
00:05:35.090 - Installing Optional Containers:
00:05:35.090 - Installing Optional Languages:
00:05:35.090 - Installing Optional Providers:
00:05:35.090 - Installing Package File AspNetMembershipProvider_05.01.01_Install: Success
00:05:35.324 - Installing Package File CorePermissionProvider_05.01.01_Install: Success
00:05:35.465 - Installing Package File DatabaseLoggingProvider_05.01.01_Install: Success
00:05:35.652 - Installing Package File DNNMembershipProvider_05.01.01_Install: Success
00:05:35.808 - Installing Package File DNNMenuNavigationProvider_05.01.00_Install: Success
00:05:35.965 - Installing Package File DNNTreeNavigationProvider_05.01.00_Install: Success
00:05:36.105 - Installing Package File FckHtmlEditorProvider_02.00.04_Install: Success
00:05:45.167 - Installing Package File FileBasedCachingProvider_05.01.01_Install: Success
00:05:45.355 - Installing Package File SchedulingProvider_05.01.00_Install: Success
00:05:45.573 - Installing Package File SearchIndexProvider_05.01.00_Install: Success
00:05:45.761 - Installing Package File SearchProvider_05.01.01_Install: Success
00:05:46.011 - Installing Package File SolpartMenuNavigationProvider_05.01.00_Install: Success
00:05:46.261 - Installing Optional AuthSystems:
00:05:46.261 - Installing Package File LiveID_01.00.01_Install: Success
00:05:46.573 - Installing Package File OpenID_02.00.00_Install: Success
00:05:46.839 - Installing Optional Packages:
=== ERROR FROM 03.02.03.log ====================================================================================================================================
System.Data.SqlClient.SqlException: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Files_Folders". The conflict occurred in database "intranet_dnn", table "dbo.Folders", column 'FolderID'.
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.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.Files ADD CONSTRAINT
FK_Files_Folders FOREIGN KEY
(
FolderID
) REFERENCES dbo.Folders
(
FolderID
)
=== ERROR FROM 03.03.01.log ====================================================================================================================================
System.Data.SqlClient.SqlException: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Files_Folders". The conflict occurred in database "intranet_dnn", table "dbo.Folders", column 'FolderID'.
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.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)
/* This tries to apply a foreign key on the files/folders tables */
/*****************************************************************/
IF NOT EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'FK_Files_Folders') AND OBJECTPROPERTY(id, N'IsForeignKey') = 1)
BEGIN
ALTER TABLE dbo.Files ADD CONSTRAINT
FK_Files_Folders FOREIGN KEY
(
FolderID
) REFERENCES dbo.Folders
(
FolderID
)
END
=== ERROR FROM 04.03.01.log ====================================================================================================================================
System.Data.SqlClient.SqlException: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Files_Folders". The conflict occurred in database "intranet_dnn", table "dbo.Folders", column 'FolderID'.
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.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)
/* This tries to apply a foreign key on the files/folders tables */
/*****************************************************************/
IF NOT EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'FK_Files_Folders') AND OBJECTPROPERTY(id, N'IsForeignKey') = 1)
BEGIN
ALTER TABLE dbo.Files ADD CONSTRAINT
FK_Files_Folders FOREIGN KEY
(
FolderID
) REFERENCES dbo.Folders
(
FolderID
)
END
=== ERROR FROM 04.05.01.log ===============================================================================================================================
System.Data.SqlClient.SqlException: CREATE UNIQUE INDEX terminated because a duplicate key was found for object name 'dbo.Files' and index name 'IX_FileName'. The duplicate key value is (0, Deli Patio & River.jpg).
Could not create constraint. See previous errors.
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.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)
/* add unique constraint to Files table */
IF NOT EXISTS (select * from dbo.sysobjects where id = object_id(N'dbo.[IX_FileName]') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
BEGIN
declare @FolderID int
declare @FileName nvarchar(100)
declare @LastFileName nvarchar(100)
declare @FileID int
declare @MinFileID int
select @FolderID = min(FolderID)
from dbo.Folders
while @FolderID is not null
begin
/* check for duplicate Filenames */
select @FileName = null
select @FileName = FileName
from dbo.Files
where FolderID = @FolderID
group by FileName
having COUNT(*) > 1
/* if duplicates exist */
while @FileName is not null
begin
/* iterate through the duplicates */
select @FileID = min(FileID)
from dbo.Files
where FolderID = @FolderID
and FileName = @FileName
/* save min FileID */
select @MinFileID = @FileID
while @FileID is not null
begin
if @FileID <> @MinFileID
begin
/* remove duplicate file */
delete
from dbo.Files
where FileID = @FileID
end
select @FileID = min(FileID)
from dbo.Files
where FolderID = @FolderID
and FileName = @FileName
and FileID > @FileID
end
/* save last FileName */
select @LastFileName = @FileName
/* check for duplicate Filenames */
select @FileName = null
select @FileName = FileName
from dbo.Files
where FolderID = @FolderID
and FileName <> @LastFileName
group by FileName
having COUNT(*) > 1
end
select @FolderID = min(FolderID)
from dbo.Folders
where FolderID > @FolderID
end
ALTER TABLE dbo.Files ADD CONSTRAINT
IX_FileName UNIQUE NONCLUSTERED
(
FolderID,
FileName
) ON [PRIMARY]
END
=== ERROR FROM 05.00.00.log ===============================================================================================================================
System.Data.SqlClient.SqlException: Violation of UNIQUE KEY constraint 'IX_DesktopModules_ModuleName'. Cannot insert duplicate key in object 'dbo.DesktopModules'.
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.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)
/* Update Account Login DesktopModule */
/**************************************/
DECLARE @ModuleDefID int
SET @ModuleDefID = (SELECT ModuleDefID FROM dbo.ModuleDefinitions WHERE FriendlyName = 'Account Login')
UPDATE dbo.DesktopModules
SET ModuleName = 'Authentication',
FolderName = 'Admin/Authentication'
WHERE ModuleName = 'Account Login'
UPDATE dbo.ModuleControls
SET ControlTitle = NULL
WHERE ControlSrc = 'Admin/Authentication/Login.ascx'
AND ModuleDefID = @ModuleDefID
UPDATE dbo.ModuleControls
SET ControlSrc = 'DesktopModules/Admin/Authentication/Login.ascx',
IconFile = '~/images/icon_authentication_32px.gif'
WHERE ControlSrc = 'Admin/Authentication/Login.ascx'
UPDATE dbo.ModuleControls
SET ControlSrc = 'DesktopModules/Admin/Authentication/Logoff.ascx',
IconFile = '~/images/icon_authentication_32px.gif'
WHERE ControlSrc = 'Admin/Authentication/Logoff.ascx'
System.Data.SqlClient.SqlException: CREATE UNIQUE INDEX terminated because a duplicate key was found for object name 'dbo.Files' and index name 'IX_FileName'. The duplicate key value is (0, Deli Patio & River.jpg).
Could not create constraint. See previous errors.
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.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)
/* add unique constraint to Files table */
IF NOT EXISTS (select * from dbo.sysobjects where id = object_id(N'dbo.[IX_FileName]') and OBJECTPROPERTY(id, N'IsConstraint') = 1)
BEGIN
declare @FolderID int
declare @FileName nvarchar(100)
declare @LastFileName nvarchar(100)
declare @FileID int
declare @MinFileID int
select @FolderID = min(FolderID)
from dbo.Folders
while @FolderID is not null
begin
/* check for duplicate Filenames */
select @FileName = null
select @FileName = FileName
from dbo.Files
where FolderID = @FolderID
group by FileName
having COUNT(*) > 1
/* if duplicates exist */
while @FileName is not null
begin
/* iterate through the duplicates */
select @FileID = min(FileID)
from dbo.Files
where FolderID = @FolderID
and FileName = @FileName
/* save min FileID */
select @MinFileID = @FileID
while @FileID is not null
begin
if @FileID <> @MinFileID
begin
/* remove duplicate file */
delete
from dbo.Files
where FileID = @FileID
end
select @FileID = min(FileID)
from dbo.Files
where FolderID = @FolderID
and FileName = @FileName
and FileID > @FileID
end
/* save last FileName */
select @LastFileName = @FileName
/* check for duplicate Filenames */
select @FileName = null
select @FileName = FileName
from dbo.Files
where FolderID = @FolderID
and FileName <> @LastFileName
group by FileName
having COUNT(*) > 1
end
select @FolderID = min(FolderID)
from dbo.Folders
where FolderID > @FolderID
end
ALTER TABLE dbo.Files ADD CONSTRAINT
IX_FileName UNIQUE NONCLUSTERED
(
FolderID,
FileName
) ON [PRIMARY]
END