I should be able to spend some time this weekend to put together a script that will convert a DNNDownload installation to a GRM3 installation.
If you want to 'tinker' yourself until then... here's some help...
I'm not that familiar with DNNDownload and don't know what the table names are, but in the script snippets below, RepositoryObjects is the old GRM2 tablename, and grmRepositoryObjects is the new GRM3 tablename, so you might have to edit the tablename before running the snippets.
The following script will 'initialize' the Categories by looking for all the Repository Modules and inserting an 'ALL' category for each ModuleID into the grmRepositoryCategories table
Declare @ModuleID int
DECLARE myCursor CURSOR FOR
SELECT DISTINCT ModuleID from {databaseOwner}{objectQualifier}RepositoryObjects
OPEN myCursor
FETCH NEXT FROM myCursor INTO @ModuleID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO {databaseOwner}{objectQualifier}grmRepositoryCategories (ModuleID, Category, ViewOrder) VALUES (@ModuleID, 'ALL', 0)
FETCH NEXT FROM myCursor INTO @ModuleID
END
CLOSE myCursor
DEALLOCATE myCursor
This next script will make sure that the grmRepositoryObjects table has the new CategoryId field
IF (SELECT COLUMNPROPERTY( OBJECT_ID('{databaseOwner}{objectQualifier}grmRepositoryObjects'),'CategoryId','AllowsNull')) IS NULL
ALTER TABLE {databaseOwner}{objectQualifier}grmRepositoryObjects ADD CategoryId nvarchar (50) NULL
This next script will go through all your Repository Objects, lookup the 'ALL' Category for it's ModuleID and set the CategoryID
UPDATE {databaseOwner}{objectQualifier}grmRepositoryObjects
SET CategoryId = (SELECT Cast(ItemID as varchar(2)) + ';' from {databaseOwner}{objectQualifier}grmRepositoryCategories
WHERE {databaseOwner}{objectQualifier}grmRepositoryObjects.ModuleId={databaseOwner}{objectQualifier}grmRepositoryCategories.ModuleID)