Error Synchronising Win-Logons after Update 3.6 -> 4.02

Hi Folks,

i’ve a serious Problem after upgrading my Navision-App from 3.6 to 4.02. The Database ist SQL-Server driven.

After the upgrade, the Win-logons won’t work anymore. (You have nor permission to read the table obejct.) for testing purposes, i’ve granted the user dbo rights; sadly with no success…

deleting and re-creating the user doesnt success.

the only way to logon to hthe database at this time are databse-logins…

Any hint’s outa there? :slight_smile:

Thanks

Hmmm … I’m not sure if that’s a User permission problem … your Database Logins work? If it’s a permission problem, then “dbo” won’t do the job as this permission is “overrruled” by the “Application Role” NAV will use when loggin on … “sysadmin” should do it, but for sure you don’t want to have all users being “sysadmin” …

Else: Could it be the issue described here: https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;906164

… And: have you tried to “Synchronize” all Logins after conversion/upgrade?

xp_ndo.dll must be present in the binn directory of SQL. You can find it on the install cd.

That’s an option. :slight_smile:

… and the stored procedure xp_ndo_enumusersids (SQL 2000) or xp_ndo_enumusergroups (SQL 2005) have to point to this xp_ndo.dll!

First: Thanks to all competitioners…

the dll and pointers are set correctly. i forgot to mention, that we moved an exisiting sql-driven 3.6 to 4.02…

@ stryk: unforunatly im not able to use the link you posted. could you give plaese a extract of the article?

If you are getting this permission error it means the user you are logging in with is being authenticated but does not have permission to read the Object table.Are you using windows groups or just windows user accounts? There are changes in this area for 4.X.

The xp_ndo_enumusergroups proc is used by 4.X and xp_ndo_enumusersids is used by 3.70 and all prior versions (it is not a SQL2005 and SQL2000 dependency). If you host databases on the same server for 4.X and prior versions you need both procs; if only 4.X you only need xp_ndo_enumusergroups.

(BTW If a database or windows login is mapped to db_owner (dbo) in the database, then an application role is not used and the dbo rights take effect).

Which client build are you using? I was seeing this issue on SQL 2005 until upgrading to client build 22611.

Verify the version of the xp_ndo.dll, it should be 4.0.2.22100.

I’ve update the *.dll to the actual Version. Unfortunately it seems not to solve the Problems…

The SP’s are both created and point to the dll…

Any more hints outa there…?

@ stryk: unforunatly im not able to use the link you posted. could you give plaese a extract of the >>article?

I’m sorry, that’s a confidential article from the Partner Source, it’s not allowed to publish it. If still reuired, your MBS partner should provide it.

The xp_ndo_enumusergroups proc is used by 4.X and xp_ndo_enumusersids is used by 3.70 and >>all prior versions (it is not a SQL2005 and SQL2000 dependency).

Yes, of course! [:$] Just mixed up things … as my current 4.00 project is on 2005 … thanks!

I think with the error you are getting “you do not have permission…” shows that the extended stored procedures are in fact installed correctly. I would suggest the following.

  • Logon on using one of the Database Logins, make sure that the database login has sysadmin privelages on SQL.
  • Remove the windows login you are having problems with in the windows logins list and then add them again. If it is added to the list then you know your current database login is working and has the correct permissions (so far so good).
  • Make sure you have given the windows login you are adding the correct roles (very important this one [:D]), or if you are using Active directory make sure the AD user is also in the windows logins list (and confirm that the windows login user also belongs to the active directory login via Active Directory) - you will also have to give the active directory roles.
  • Then you can either “synchronise all” or just select the windows login name in the list and tools → security → synchronise single…

The key here is that you must run Synchronise!!!

EUREKA!

It works!

Thanks to all.

Lookin Backward, the Key seems to be the following:

  • Updating xp_ndo.dll
  • Re-Creating LogonAcount
  • Synchronising

Again: many Thanks to all competitioners for guiding me!