Friday, 22 April 2016

Extended stored procedure error (xp_ndo.dll and xp_ndo_x64.dll) in NAV 2009

Ever you faced a problem when you try to open the NAV 2009 database which says,

"The extended stored procedure xp_ndo_enumusersids in the library file xp_ndo.dll, is not available on the <server name> server."

Well, if you've faced this above error then the solution for that is very simple. :)
Firstly identify where are those dll files and copy that to your local machine.

You can find xp_ndo.dll and xp_ndo_x64.dll in the following path of NAV 2009 R2 installation folder.
D:\2009R2\SQLDatabase\PFiles\Microsoft Dynamics NAV\60\Database\Cronus.flf


Once you copy the above .dll files in your local folder. Open SQL Server and go to,

Databases -> System Databases -> Master -> Programmability -> Extended stored procedures,

1. Create a new Extended stored procedure in that,

Give a stored procedure name as xp_ndo_enumuserids
and DLL path (the path you the .dll file) - xp_ndo.dll  (This dll file is 32 bit)

Go to permission click search and choose public.
Selecte Execute, Grantor - dbo and tick mark Grant.

2. Again, Create a new Extended stored procedure, go to properties in that,

Give a stored procedure name as xp_ndo_enumusergroups
and DLL path(the path you the .dll file) - xp_ndo_x64.dll  (This dll file is 64 bit)

Go to permission click search and choose public.
Selecte Execute, Grantor - dbo and tick mark Grant.

Fig. below explains in detail.

Once you are done with this go back to your NAV. Try to open the database of 2009R2 and you will be good to go further with your work.


2 comments: