[Gelöst] - xp_ndo.dll und SQL Server 2005

15. März 2007 09:20

Wenn man die Windows-Anmeldung unter SQL verwenden will, muss man ja eine Stored Procedure aus der xp_ndo.dll hinzufügen.

Unter SQL 2005 sieht das Vorgehen dabei anders aus als unter SQL 2000. Kann mir jemand vielleicht kurz erklären, wie ich das machen muss?
Zuletzt geändert von rotsch am 15. März 2007 13:26, insgesamt 1-mal geändert.

15. März 2007 09:40

Ich mache mir das immer ganz einfach, und installiere auch auf dem SQL Server einen Navision Client, da passiert das ganz automatisch beim Setup, wenn man die Demodatenbank und die MSDE mit auswählt.
Navision erkennt, dass schon ein SQL da ist und baut nur noch die Stored procedures ein. ICh habe da bei SQL2005 keine Fehlermeldung bekommen, also gehe ich davon aus, dass Navision das dort auch hinbekommen hat. Der Befehl in TransactSQL dürfte sich auch nicht verändert haben.

15. März 2007 09:48

Soweit aller klar, danke.

Ich habe aber den SQL Server erst nach Navision installiert, daher fehlt das Teil natürlich. Irgendwie muss man ja diese StoredProcedure nachträglich installieren können.

Mal sehen, vielleicht werden ich anderswo noch fündig.

15. März 2007 09:51

such mal in der Online hilfe nach Stored Procedure und aus der Liste schau dir die SQL Transaktbefehle an, da sollte einer bei sein, der die hinzufügen kann, ich hab was von SP_ADD im hinterkopf, kann aber auch falsch sein, die Erinnerung.

15. März 2007 09:52

Ich weiß nicht, ob dir das was hilft, aber:
Die aktuellste DLL findest du auf der Navision-Installations-CD (SP3 enthält eine passende für SQL 2005, soweit ich weiß).
Diese DLL setzt du im Serververzeichnis an die Stelle der bisherigen DLL - damit sollte es fertig sein.

Naja, hat mir zumindest Timos Kollege mal so in ähnlicher Form erzählt ;-)))

15. März 2007 10:44

Nun, ich gehe z.B. dabei wie folgt vor:

1. Aktuelle xp_ndo.dll ins SQL Server Verzeichnis kopieren
2. Management Studio - DB "master" - Erweiterte Gespeicherte Prozeduren
3. Rechts-Klick, Neue Prozedur
4. Allgemein: Name: xp_ndo_enumusersids; DLL: Pfad/Name zu xp_ndo.dll
5. Berechtigungen: Hinzufügen der Rollen "public" und "guest", beiden "Execute" Berechtigungen erteilen
6. Speichern
7. Allgemein: Name: xp_ndo_enumusergroups; DLL: Pfad/Name zu xp_ndo.dll
8. Berechtigungen: Hinzufügen der Rollen "public" und "guest", beiden "Execute" Berechtigungen erteilen
9. Speichern
10. Fertig!
Zuletzt geändert von stryk am 15. März 2007 13:09, insgesamt 1-mal geändert.

15. März 2007 10:56

Hallo Rotsch,

ich hatte vor einigen Wochen die Expressversion SQL2005 installiert.
Ich bin hierbei nach der Datei "w1w1isql.pdf" (auf der Nav-CD) vorgegangen und hatte keine Probleme.
(Suche in diesem Dokument nach der dll)
Gruß Mikka

15. März 2007 11:05

Hallo Jörg, vielen Dank!

Ja, genau danach habe ich gesucht. Ich war schon nahe dran, aber eben, kanpp vorbei ist auch daneben. Ich in den gespeicherten Prozeduren gesucht, anstelle in den Erweiterten gespeicherten Prozeduren.

Die Einträge konnte ich jetzt problemlos vornehmen. Beim Start von Navision erhalte ich jedoch eine Fehlermeldung.

Kann mir da vielleicht noch jemand helfen?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

15. März 2007 13:08

Hast Du in den X-Procs den absoluten Datei-Pfad/-Namen der xp_ndo.dll angegeben; also z.B.
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\xp_ndo.dll

Tritt der Fehler auch auf, wenn Du z.B. die DLL nach C:\ kopierst und dies in den X-Procs änderst?

15. März 2007 13:24

stryk hat geschrieben:Hast Du in den X-Procs den absoluten Datei-Pfad/-Namen der xp_ndo.dll angegeben; also z.B. C:\Program Files\Microsoft SQL Server\80\Tools\Binn\xp_ndo.dll


Bingo, genau das wars. Ich Dödel habe bloss den Pfad angegeben, aber den Namen der DLL weggelassen (hab die Pfadangabe aus dem Explorer kopiert).

Und die Auswahl über den Dialog funktioniert nicht, ich kann da die Verzeichnisse nich öffnen, warum auch immer. Auf jeden Fall funktionierts jetzt tadellos.

Besten Dank, Jörg.

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

28. Dezember 2009 21:28

Hallo Community,


stryk hat geschrieben:Nun, ich gehe z.B. dabei wie folgt vor:



1. Aktuelle xp_ndo.dll ins SQL Server Verzeichnis kopieren

2. Management Studio - DB "master" - Erweiterte Gespeicherte Prozeduren

3. Rechts-Klick, Neue Prozedur

4. Allgemein: Name: xp_ndo_enumusersids; DLL: Pfad/Name zu xp_ndo.dll

5. Berechtigungen: Hinzufügen der Rollen "public" und "guest", beiden "Execute" Berechtigungen erteilen

6. Speichern

7. Allgemein: Name: xp_ndo_enumusergroups; DLL: Pfad/Name zu xp_ndo.dll

8. Berechtigungen: Hinzufügen der Rollen "public" und "guest", beiden "Execute" Berechtigungen erteilen

9. Speichern

10. Fertig!


ich habe ein problem ab schritt 4.
ich weis nicht wo ich name und dll hinzufügen muss...
habe ein bild angefügt...

http://img690.imageshack.us/img690/9989/serverc.jpg

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

28. Dezember 2009 21:46

Jörg meinte: mit der rechten Maustaste auf den Eintrag "Erweiterte gespeicherte Prozeduren" zu klicken. Dort gibt es einen Menüeintrag mit "Neue Prozedur" in dem Form was sich dann öffnet kannst du die Werte eingeben.

Gruß, Fiddi

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

18. August 2010 12:11

Hallo,

Ich habe gerade das gleiche Problem unter SQL Server 2008. Ich möchte eine Navision 4.0 Datenbank mit Windows-Authentifizierung erstellen.

Die Anleitungen wurde hier ja besprochen, allerdings finde ich den Punkt mit den erweiterten Prozeduren nicht.
Ich gehe immer zu folgendem Punkt:

Datenbanken -> master -> Programmierbarkeit -> Gespeicherte Prozeduren -> Neue gespeicherte Prozedur...

Oder ist das bei SQL 2008 anders?

MfG,
BS

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

18. August 2010 12:57

Ich wiederhole mich :wink: :

Datenbanken -> master -> Programmierbarkeit -> Erweiterte Gespeicherte Prozeduren.

Gruß, Fiddi

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

18. August 2010 13:15

fiddi hat geschrieben:Ich wiederhole mich :wink: :

Datenbanken -> master -> Programmierbarkeit -> Erweiterte Gespeicherte Prozeduren.

Gruß, Fiddi

<Klugscheiß> "XP" kommt von "Extended [Stored] Procedure"</Klugscheiß> :twisted:

Mit diesem Script sollte es auch klappen:

Code:
USE [master]
GO
EXEC dbo.sp_addextendedproc
      N'xp_ndo_enumusersids',
      'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\xp_ndo.dll' -- change path
GO
GRANT EXECUTE ON [dbo].[xp_ndo_enumusersids] TO [public]
GO
EXEC dbo.sp_addextendedproc
      N'xp_ndo_enumusergroups',
      'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\xp_ndo.dll'  -- change path
GO
GRANT EXECUTE ON [dbo].[xp_ndo_enumusergroups] TO [public]
GO


Achtung 1: Dateipfad zur xp_ndo.dll anpassen
Achtung 2: Richtige xp_ndo.dll verwenden, ggf. 64bit Version

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

18. August 2010 13:29

Stryk hat geschrieben:<Klugscheiß> "XP" kommt von "Extended [Stored] Procedure"</Klugscheiß>

Gute Eselsbrücke

Gruß, Fiddi

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

26. November 2010 19:09

Hallo,

der Thread ist zwar schon ein bisschen älter, aber vielleicht kennt trotzdem jemand folgendes Phänomen:

Ich füge wie beschrieben die Prozedure im MSSQL 2008 R2 hinzu und wählen den Pfad für die xp_ndo_x64.dll und wähle die Datei aus.

Klicke ich auf ok und gehe noch mal in die Eigenschaften ist der DLL Pfad mit der Datei leer. Mache ich da etwas falsch oder hat sich im MSSQL 2008 R2 etwas geändert?


Gruß
Owen

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

26. November 2010 20:13

Hi,

keine Sorge, das ist ganz normal. Der SQL Server "versteckt" qausi die DLL, damit kein "Unbefugter" daran herumbastelt ...

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

27. November 2010 12:47

Danke für die schnelle Antwort. Bist du sicher? In unserem alten MSSQL 2005 steht der Pfad nämlich drin. Deswegen bin ich etwas irritiert. Hat sich das bei 2008 R2 geändert?


Gruß
Owen

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

27. November 2010 14:47

Also ich stelle das bei allen SQL Servern 2008 fest - der Pfad "verschwindet" nachdem die XP erstellt wurde; auch wenn man die XP anschließend SCripted ist der Pfad weg.
Die Anmeldung in NAV funktioniert aber trotzdem ... also gehe ich davon aus, dass das so OK ist.

XP stellen prinzipiell ein Sicherheitsrisiko dar, und in den "Books Online" steht, dass dieses Feature in künftigen Versionen nicht mehr unterstützt wird.

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

18. Juni 2014 13:25

Hier ist ein MSDN-Blogartikel zum Thema:
Basic SQL - Creating Extended Stored Procedure / xp_ndo.dll
Basic SQL - Creating Extended Stored Procedure / xp_ndo.dl
aus der Serie
Basic SQL - Overview of NAV specific SQL features for application consultants
Basic SQL - Overview of NAV specific SQL features for application consultants

Re: [Gelöst] - xp_ndo.dll und SQL Server 2005

18. September 2015 08:57

Kleine Anmerkung von mir.

Ich hatte das gleiche Problem, nachdem ich meinen NAV-60 Ordnder umbenannt hatte.
Um den Pfad im SQL-Server (2014) zu ändern musst ich das Management Studio per "als Administrator starten" aufrufen, ansonsten war der Pfad nach SQL-Server neustart immer weg.

Jetzt passt alles wieder.