Navision soll andere Navisiondatenbank abfragen

26. September 2007 01:12

Hallo Leute,
welche Möglichkeiten gibt es, von einem Navisionclient mit SQL ServerOption auf einen andere Navisiondatenbank zuzugreifen. Ich benötige Daten von anderen Navisiondatenbank (SQL Server) die ich zur Laufzeit abfragen muss. Am besten wäre es, wenn ich diese Daten in Form einer Tabelle zur Verfügung stellen könnte.

Vielen Dank

Sven

Re: Navision soll andere Navisiondatenbank abfragen

26. September 2007 11:58

Hi Sven!

Dreistein hat geschrieben:welche Möglichkeiten gibt es, von einem Navisionclient mit SQL ServerOption auf einen andere Navisiondatenbank zuzugreifen. Ich benötige Daten von anderen Navisiondatenbank (SQL Server) die ich zur Laufzeit abfragen muss. Am besten wäre es, wenn ich diese Daten in Form einer Tabelle zur Verfügung stellen könnte.

Du könntest in der SQL-Datenbank einen neuen Verbindungsserver einrichten, der auf die andere SQL-Datenbank verweist. Dann würde ich in der gleichen SQL-Datenbank eine neue Sicht (View) anlegen, die den Verbindungsserver nutzt. In Navision könntest du dann eine Tabellen anlegen (LinkedObject=Ja, DataPerCompany=Nein) mit der gleichen Bezeichnung wie die SQL-Sicht und den gleichen Feldern. So könntest du dann auf die Daten zugreifen.

Gruß, Marc

26. September 2007 21:05

Hallo Marc,
vielen Dank für die Antwort. Die Lösung die Du angeboten hast, ist von der Performance des Zugriffes war sehr schnell, aber leider administrativ sehr aufwendig. Gibt es denn eine Möglichkeit über C/AL Code einen View zur Laufzeit zu erstellen und dabei auf einen anderen Datenbankserver zuzugreifen. Es handelt sich um ca. 15 Tabellen, die abgeglichen werden sollen. Dies wird sich warscheinlich noch mehr werden.

Gibt es da denn noch etwas anderes, was in der Performance vergleichbar ist wie Deine schon vorgeschlagenen Lösung?

Vielen Dank

Sven

27. September 2007 22:53

Hi!

Eine andere Möglichkeit wäre, von einem Server aus via MS ADO auf den anderen zu zugreifen.
Eine Verbindung kann über den "SQLOLEDB" Provider aufgebaut werden; danach könnte ein SQL Statement dynamisch generiert werden (oder eine Stored Procedure aufgerufen werden) um bestimmte Daten abzufragen etc. und diese dann via ADO in NAV zu verarbeiten. Je nach Abfrage läuft dies auch mit guter Performance; lediglich die Bearbeitung der Resultset via ADO ist ein wenig "umständlich" ...

Gruß,
Jörg