Bodo's Dynamics NAV und Business Central Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert Navision seit DOS Zeiten und hat auch keine Scheu vor .NET und schon gar nicht vor Dynamics 365 oder Azure. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu Entwicklern ausgebildet. In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics 365 Business Central / Dynamics NAV und Microsoft Azure.Dynamics NAV 2017 – Import-NAVData bricht mit Fehler wegen Tabelle 27 ab
Tags: export, import, powershell, 2017Mit den PowerShell-Befehlen »Export-NAVData« und »Import-NAVData« haben Sie die Möglichkeit, Daten aus einer Dynamics NAV 2017 Datenbank zu exportieren und in eine andere zu importieren. Weitere Informationen dazu finden Sie hier: https://msdn.microsoft.com/en-us/dynamics-nav/microsoft.dynamics.nav.management/export-navdata
Wenn Sie PowerShell vermeiden wollen, können Sie auch den NAV Client verwenden. Die Aufgaben nennen sich »In eine Datendatei exportieren« und »Aus einer Datendatei importieren«. Zu finden unter »Verwaltung/IT-Verwaltung/Allgemein«.
Voraussetzung für den Export/Import sind identische Objektstände in beiden Datenbanken. Zumindest was die Datenbanktabellen betrifft. Ansonsten bricht der Import mit einer Fehlermeldung ab.
Aber auch wenn Sie sicher sind, dass die Objektstände identisch sind, kann der Import scheitern. Davon erzählt die folgende Geschichte:
Beim Versuch an einem verregneten Sonntagnachmittag die Daten des Demo-Mandanten »CRONUS AG« von einer Dynamics NAV 2017 Datenbank in eine andere Datenbank zu kopieren, kam es zu folgender Fehlermeldung:
Abbildung 1. Die Daten können nicht importiert werden, da die Tabelle mit der ID 27 in der angegebenen Datei andere Felder oder Schlüsseldefinitionen als die Anwendungsdatenbank aufweist.
Nach kurzer Verwunderung machte sich Verzweiflung breit: Die Tabelle 27 ist in beiden Datenbanken identisch! Trotzdem nochmals das Tabellenobjekt importiert. Keine Besserung. Unverändert der Fehler oben.
Erst ein Vergleich der Tabelle 27 auf SQL Ebene brachte den Unterschied an den Tag. In der Quell-Datenbank existierte eine zusätzliche Spalte »Has Sales Forecast«. Achtung: Diese Spalte wird im Object Designer nicht angezeigt.
Damit ist das Rätsel gelöst.
Die Spalte »Has Sales Forecast« wird durch die Extension (Erweiterung) »Sales and Inventory Forecast« auf die Tabelle 27 gebracht. In der »CRONUS AG« ist diese Erweiterung standardmäßig installiert.
Abbildung 2. Verwaltung/IT-Verwaltung/Erweiterungen/Erweiterungsverwaltung.
Quell-Datenbank und Ziel-Datenbank müssen daher die Erweiterungen identisch installiert haben. Sonst hat man unter Umständen nicht identische Tabellenstrukturen und scheitert beim Import von Daten.