Wednesday, 9 May 2007

Help - I Accidentally Updated My Navision Database!

I spotted a great posting on the Navision News Group today.

Dynamics NAV has this nasty habit of stamping the version number of the client program against the database. So the scenario goes something like this:

  1. You have a 4.0 SP1 Client and you (and all your co-workers) are accessing your database quite happily
  2. You install a 4.0 SP2 or SP3 client just to take a look at the exciting new features and fire-up the new client
  3. The client looks at your ZUP file and finds the server and database details you last used and tries to open the database
  4. The client puts up a message asking you if you want to upgrade your database to a new version
  5. You don't read the message and click Yes because that is what all users do - it's easier than thinking
  6. The client puts up a second message saying "I know you didn't read the first message, because no-one ever does, but are you really sure you want to upgrade the database?"
  7. You don't read the message and click Yes again
  8. The client lets out a deep sigh and proceeds to update your database
  9. You get to use the new client on the database and everything is hunky-dory.

Meanwhile...

  1. Your co-worker with their 4.0 SP1 client tries to open the database and they see a message: "This database has been upgraded to a later version by someone who does not read warning messages, you must find that person and taunt them."

I may have changed the wording on some of these messages slightly - but you get the gist.

What I didn't know was that, according to the Ian C who posted the response, if you are using a SQL database, all is not lost. There is a dirty hack - which I must say I have not tried out - in which you can edit the databaseversionno field on the $ndo$dbproperty table. I would suggest creating a new database with the correct client just to see what the version number is - in Ian's example he talks about changing the value from 60 to 40.

I actually tried to use this today (15th September 2007) and it sort of worked. I tried to change a 4.0 SP3 back to a 4.0 no service pack. When I changed the value of the databaseversionno field to 30 the database would still only open with a 4.0 SP1. Maybe I did something wrong. What I did do is make a note of the version number used for a number of different versions:

3.10A = 13

3.60 = 14

3.70 = 17

4.0 = 30

4.0 SP1 = 40

4.0 SP3 = 60

5.0 = 80

5.0 (Build 25653 known as Update 3) = 82

5.0 SP1 = 95

1 comment:

Anonymous said...

if i had known earlier by test db would still be humming. oh well