conversion 3.6 to 3.7 INVOLUNTARILY?

MAJOR issue here: We running a 3.60A database in SQL at a customer site. However, one of the IT guys had a 3.70 client installed on his computer. Guess what… the guy opened the database with it’s 3.70 client! For sure, he had one screen asking him if he really wanted to convert to 3.70, but he clicked… YES ! [xx(] BOUM! Database converted! [:(!] 100 angry users can no more access the database (3.70) with their 3.60 clients!!! All of that caused by a simple click! To solve the problem, we did a backup of the 3.70 database (fbk) and restored it in a new 3.60A database. It works, but I still have questions:

  • Is there a better way to solve the problem we had?
  • Do we have to expect any issue because of the conversion from 3.70 to 3.60?
  • Is it possible to restrict the ability to convert the database for the users (system permissions? code?)
    I found an old topic about this issue telling me that I could do the following ( UPDATE [$ndo$dbproperty] SET [databaseversionno] = 5However, I’d like to know if anyone else have other suggestions. Tx in advance,

By the way, we figured out that version 14 => 3.60 and version 15 => 3.70. However, I’m pretty sure it’s not a good idea to change this value without having any other system tables/functions updated. No one had this problem before?

Hi David, we have had that problem before. Even partnerguide mentioned to change databaseversionno. So that should not be a big issue. BTW, you can open a native 3.6 database with a 3.7 client. The client is NOT asking to convert anything. 3.6 Client can still open the native database after we used 3.7 client. So I guess that there are no changes from 3.6 to 3.7 within the database structure. Reading changes.doc would make it clear as well, but I’m to tired now. Take care Walter

You can trust me, the 3.70 client asked “Do you want to convert the database” and the user clicked “Yes”! I double checked on a test demo. We are running a 3.60A SQL, the database was converted in 3.70, and no user were able to access the db.


Originally posted by dgodbout
You can trust me, the 3.70 client asked “Do you want to convert the database” and the user clicked “Yes”! I double checked on a test demo.

Sure, I trust and beleive you. I wrote about the native database and the 3.7 client. There cannot be a major change in the database structure between 3.6 and 3.7. Otherwise there would no possibility to ‘re-connect’ with a 3.6 client.

Both the Navision Server and SQL Server version have the concept of converting the database, but with very different changes going on. Navision Server does this to support new features, when the layout of its internal tables (called the ‘root’ table and ‘locks’ table, neither appearing in the Object table) changes, or when new server commands are added. Once converted, earlier versions cannot access the database. Recently this was done between 3.10 and 3.60 because of the AutoIncrement property; it is done again between 3.70 and 4.0 for many reasons. The SQL version requires conversion when its views need updating or the database property table [$ndo$dbproperty] layout changes to support new features or fixes. For specific updates, changing the databaseversionno of this table back to the previous version will work provided that the contents of existing fields have not changed - mainly the chartable BLOB. But if they have, changing this number is not enough. This is a list of versions and the changes that occured, for 3.01 onwards: 3.01, 3.01A, 3.01B databaseversionno=12 Added identifiers field to [$ndo$dbproperty] 3.10, 3.10A databaseversionno=13 Added maintainrelationships field to [$ndo$dbproperty] 3.60 databaseversionno=14 Added databaselicense field to [$ndo$dbproperty] Added invalididentifierchars field to [$ndo$dbproperty] Updated Session view 3.70 databaseversionno=15 Updated chartable in [$ndo$dbproperty] Added checkcodepage, quickfind, maintaindefaults fields to [$ndo$dbproperty] Updated Session and Database File views 3.70 Hotfix 5 databaseversionno=16 Updated Session view 3.70 Hotfix 12 databaseversionno=17 Update identifiers and invalididentifierchars in [$ndo$dbproperty]

Thanks Robert, This is exactly what I was looking for.

Robert (or any other resident guru), Can you tell me which rights a user needs to have before he is allowed to do this. We are rolling out a test 3.70 next to our current 3.01 and I would hate to think any of our users could accidentally do this. Is it a Navision system permission or a SQL permission I need to revoke to stop anybody but me converting the database? Many thanks Meint

I would think, they need to be a dbo on the SQL server - but I am not 100% sure.

Yes you need to be a member of the db_owner database role, or to have specific permissions granted. Navision permissions arent relevant.

have you any information about the changes made for 3.70A / B and 4.0?

IS it possible to convert the Native navision Database? how could i convert back ? suggest me immediatly… thanks. Ramesh