|
Menliros Beginner
Joined: 30 May 2010 Posts: 18
|
Posted: Fri Jun 04, 2010 1:39 pm
SQL Error: PRIMARY KEY must be unique. |
Suddenly getting this error when trying to create a new room in my map. Never got this error before and i'm using the map quite extensively. I've tried removing all rooms in the zone I was mapping, but that had no effect.
Crash log below:
Code: |
date/time : 2010-06-04, 15:33:50, 502msregistered owner : Microsoft / Microsoft
operating system : Windows 7 x64 build 7600
system language : English
system up time : 4 days 6 hours
program up time : 59 seconds
processors : 4x Intel(R) Core(TM)2 Quad CPU @ 2.40GHz
physical memory : 1015/4095 MB (free/total)
free disk space : (C:) 986.19 GB
display mode : 1920x1080, 32 bit
process id : $15ac
allocated memory : 157.38 MB
executable : CMUD.exe
exec. date/time : 2010-06-03 23:53
version : 3.18.0.3
compiled with : BCB 2006/07
madExcept version : 3.0k
callstack crc : $06a99d80, $e451700c, $e451700c
exception number : 1
exception class : EZDatabaseError
exception message : SQL Error: PRIMARY KEY must be unique.
Main ($152c):
008c160d +00e9 CMUD.exe ZAbstractDataset 417 +14 TZAbstractDataset.InternalAddRecord
77dd010a +000a ntdll.dll KiUserExceptionDispatcher
0089c3a2 +002a CMUD.exe ZDbcStatement 2000 +1 TZEmulatedPreparedStatement.ExecuteUpdate
0089c4a2 +002a CMUD.exe ZDbcStatement 2040 +1 TZEmulatedPreparedStatement.ExecuteUpdatePrepared
00888608 +014c CMUD.exe ZDbcGenericResolver 776 +26 TZGenericCachedResolver.PostUpdates
008a2a68 +0038 CMUD.exe ZDbcSqLiteResultSet 853 +1 TZSQLiteCachedResolver.PostUpdates
00889d40 +0018 CMUD.exe ZDbcCachedResultSet 439 +5 TZAbstractCachedResultSet.PostRowUpdates
00889eb8 +005c CMUD.exe ZDbcCachedResultSet 545 +14 TZAbstractCachedResultSet.PostUpdates
0088a830 +0080 CMUD.exe ZDbcCachedResultSet 1526 +16 TZAbstractCachedResultSet.InsertRow
008c15dc +00b8 CMUD.exe ZAbstractDataset 415 +12 TZAbstractDataset.InternalAddRecord
008c17b4 +010c CMUD.exe ZAbstractDataset 465 +19 TZAbstractDataset.InternalPost
00517841 +0029 CMUD.exe DB TDataSet.CheckOperation
C
005174dc +0048 CMUD.exe DB TDataSet.Post
00d82c74 +04b4 CMUD.exe RoomRec3 1780 +72 TMapLink.SaveLink
00d80d28 +00e0 CMUD.exe RoomRec3 902 +25 TRoomRec.SetLink
00d650df +082f CMUD.exe MapLoc3 1995 +167 TMapLoc.NewRoom
00d67e3b +012f CMUD.exe MapLoc3 2792 +20 FollowLink
00d6a46a +21e2 CMUD.exe MapLoc3 3310 +369 CheckForRoom
00d6a9cf +013f CMUD.exe MapLoc3 3363 +15 TMapLoc.MapLine
00d6662f +02db CMUD.exe MapLoc3 2366 +49 TMapLoc.AddLine
00cde595 +18bd CMUD.exe MAIN 8527 +460 TMUDForm.HandleTrigger
00cdc7a7 +000f CMUD.exe MAIN 7889 +1 TMUDForm.UserOutNewLine
00a2dfdb +0067 CMUD.exe term 9748 +6 TTerm.DoTriggerLine
00a2c90a +020e CMUD.exe term 9306 +34 HandleNewLine
00a2d169 +06e1 CMUD.exe term 9434 +104 TTerm.PutText
00a2d74b +0053 CMUD.exe term 9541 +2 TTerm.Add
00cc7492 +00b6 CMUD.exe MAIN 1824 +8 TMUDForm.OutputStr
00cc77b6 +011a CMUD.exe MAIN 1912 +29 TMUDForm.NextMUDLine
00cc7c86 +0022 CMUD.exe MAIN 1993 +4 TMUDForm.DoNextLine
004bc093 +02bb CMUD.exe Controls TControl.WndProc
004c0097 +04fb CMUD.exe Controls TWinControl.WndProc
004a25f7 +0553 CMUD.exe Forms TCustomForm.WndProc
004bf7c0 +002c CMUD.exe Controls TWinControl.MainWndProc
0047d424 +0014 CMUD.exe Classes StdWndProc
75f9810d +000a USER32.dll DispatchMessageA
004aa76c +00fc CMUD.exe Forms TApplication.ProcessMessage
004aa7a6 +000a CMUD.exe Forms TApplication.HandleMessage
004aaa9b +00b3 CMUD.exe Forms TApplication.Run
00e42b4c +0088 CMUD.exe CMUD 373 +20 initialization
76593675 +0010 kernel32.dll BaseThreadInitThunk
|
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jun 04, 2010 4:21 pm |
What version of CMUD was the map originally created in? You can try downloading the MapConvert program and use the Repair button to try and repair your *.DBM map database. It actually looks like an exit link causing the problem rather than a room record.
|
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri Jun 04, 2010 6:45 pm |
On a related note, you can make this happen by editing the Room Properties when no room is actually selected. The actual edit will not throw the error, but the edits you do make will persist for the duration of the session. The AV message finally appears when you exit the session, but I dunno of other situations where it would occur.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Menliros Beginner
Joined: 30 May 2010 Posts: 18
|
Posted: Fri Jun 04, 2010 6:49 pm |
The map was originately created in Zmud, years ago. I've tried using the map converter to repair the map, but to no avail. It still gives the error when i try when i map a new room.
I've even tried converting it to zmud format and back. |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri Jun 04, 2010 7:39 pm |
If Zugg's converter doesn't fix it, make a copy (in case he wants you to send it to him) and then use ReedN's cmud_map_doctor utility on it. This should fix these sorts of errors, as sometimes the converter won't recognize something as wrong if it's not also broken.
Just keep in mind that it doesn't try to maintain the order of rooms, so any room scripts you have will have to be adjusted manually (I can't wait until "roomXXX" class keys become optional). |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Menliros Beginner
Joined: 30 May 2010 Posts: 18
|
Posted: Sat Jun 05, 2010 10:08 am |
ReedN's utility worked! Thanks.
|
|
|
|
kittyfish Novice
Joined: 20 Sep 2011 Posts: 37
|
|
|
|
kittyfish Novice
Joined: 20 Sep 2011 Posts: 37
|
|
|
|
sparowlite Newbie
Joined: 02 Apr 2019 Posts: 1
|
|
|
|
|
|