---
title: "Befehlsübersicht DataMigrate Pro"
id: "994194"
type: "post"
slug: "befehlsuebersicht-datamigrate-pro"
published_at: "2025-09-12T11:30:32+00:00"
modified_at: "2026-03-05T08:24:24+00:00"
url: "https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/"
markdown_url: "https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro.md"
excerpt: "Produkt registrieren Den secret-key erhalten Sie mit dem Demolizensierung oder per E-Mail nach offizieller Bestellung Schnittstellen festlegen Sowohl…"
taxonomy_category:
  - "DataMigrate Pro"
  - "Support &amp; Dokumentationen"
---

# Befehlsübersicht DataMigrate Pro

[https://www.facebook.com/sharer.php?text=Befehls%C3%BCbersicht%20DataMigrate%20Pro&u=https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/](https://www.facebook.com/sharer.php?text=Befehls%C3%BCbersicht%20DataMigrate%20Pro&u=https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/)
[https://twitter.com/share?t=Befehls%C3%BCbersicht%20DataMigrate%20Pro&url=https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/](https://twitter.com/share?t=Befehls%C3%BCbersicht%20DataMigrate%20Pro&url=https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/)
[http://www.reddit.com/submit?url=https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/](http://www.reddit.com/submit?url=https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/)
[https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/](https://ioi.gmbh/2025/09/12/befehlsuebersicht-datamigrate-pro/)

### Produkt registrieren

Den `secret-key` erhalten Sie mit dem Demolizensierung oder per E-Mail nach offizieller Bestellung

```
DataMigratePro --registration <secret-key> --tenantid <TenantID>
```

```
DataMigratePro --registration <secret-key> --tenantid <TenantID>
```

### Schnittstellen festlegen

Sowohl die SQL-Server Datenbank als auch die Business Central Instanz muss dem Programm zur weiteren Arbeit bekannt gemacht werden.

Um eine Datenübertragung zu ermöglichen muss eine sogn. App-Resource angelegt und in Business Central konfiguriert und mit den entsprechenden Berechtigungen versehen werden. Näheres liefert die Dokumentation [How to Register Business Central App with API Permissions in Azure Portal – NAVUSER](https://www.navuser.com/how-to-register-business-central-app-with-api-permissions-in-azure-portal/)

```
DataMigratePro /
  --sqlconnection "Data Source=localhost;Initial Catalog=Demo Database NAV (6-0);Integrated Security=SSPI;" /
  -w "https://api.businesscentral.dynamics.com/v2.0/<TenantID>/<Environment>/ODataV4/Upload_LoadData?company=<Company>" /
  --tenantid <TenantID> --clientid <ClientID> /
  --clientsecret <Client Secret> /
  --sourcecompany <Source Company> /
  --mappingdatabase <Mappin
  --destinationcompany <Destination Company>  
```

```
DataMigratePro /
  --sqlconnection "Data Source=localhost;Initial Catalog=Demo Database NAV (6-0);Integrated Security=SSPI;" /
  -w "https://api.businesscentral.dynamics.com/v2.0/<TenantID>/<Environment>/ODataV4/Upload_LoadData?company=<Company>" /
  --tenantid <TenantID> --clientid <ClientID> /
  --clientsecret <Client Secret> /
  --sourcecompany <Source Company> /
  --mappingdatabase <Mappin
  --destinationcompany <Destination Company>  
```

Nachdem die Schnittstellen über obigen Befehl festgelegt wurden, hat DataMigratePro die Datei `settings.json` erstellt.

```
{
  "SqlConnectionString": "Data Source=localhost;Initial Catalog=Demo Database NAV (6-0);Integrated Security=SSPI;",
  "SourceDatabase": "Demo Database NAV (6-0)",
  "SourceCompany": "<Source Company>",
  "DestinationCompany": "<Destination Company>",
  "TenantInfo": {
    "TenantId": "<TenantID>",
    "ClientId": "<ClientID>",
    "ClientSecret": "<Client Secret>"
  },
  "BlobMagicSignature": [ 2, 69, 125, 91 ],
  "EndpointUrl": "https://api.businesscentral.dynamics.com/v2.0/<TenantID>/<Environment>/ODataV4/Upload_LoadData?company=<Company>",
  "MappingDatabase": "Migration"
}
```

```
{
  "SqlConnectionString": "Data Source=localhost;Initial Catalog=Demo Database NAV (6-0);Integrated Security=SSPI;",
  "SourceDatabase": "Demo Database NAV (6-0)",
  "SourceCompany": "<Source Company>",
  "DestinationCompany": "<Destination Company>",
  "TenantInfo": {
    "TenantId": "<TenantID>",
    "ClientId": "<ClientID>",
    "ClientSecret": "<Client Secret>"
  },
  "BlobMagicSignature": [ 2, 69, 125, 91 ],
  "EndpointUrl": "https://api.businesscentral.dynamics.com/v2.0/<TenantID>/<Environment>/ODataV4/Upload_LoadData?company=<Company>",
  "MappingDatabase": "Migration"
}
```

### Übertragung der Mapping-Konfiguration

Über folgenden Befehl werden die Mapping-Konfigurationen vom Quellsystem zum Zielsystem übertragen

```
DataMigratePro -t saveconfiguration
```

```
DataMigratePro -t saveconfiguration
```

Über folgenden Befehl werden die Mapping-Konfigurationen vom Zielsystem zum Quellsystem übertragen

```
DataMigratePro -t loadconfiguration
```

```
DataMigratePro -t loadconfiguration
```

### Übertragen aller Stamm- und Einrichtungsdaten

Sobald die Navision-Datenbank um die Konfigurationstabellen erweitert wurde, kann die erste Übertragung gestartet werden.

```
DataMigratePro -t putalldata --automapping
```

```
DataMigratePro -t putalldata --automapping
```

Mit dem Schalter `putalldata`werden alle Tabelleninhalte nach Business Central gesendet, deren Kategorie **Stammdaten** oder **Einrichtung** ist.

### Übertragen aller gebuchten Belege und Posten

Mit `putalldata` werden auch dann vor der Übertragung der Daten die Daten der Zieltabelle gelöscht, wenn in der Konfiguration zur jeweiligen Tabelle die Option `Delete before Transfer` gesetzt wurde.

```
DataMigratePro -t putalldata --tablegroup "3,4" --automapping
```

```
DataMigratePro -t putalldata --tablegroup "3,4" --automapping
```

### Übertragen geänderter Daten

Sofern in Navision für Tabellen das Änderungsprotokoll ausgeführt wird, werden über folgenden Befehl nur die Änderungen nach Business Central gesendet.

```
DataMigratePro -t putalldata --changesonly 1 --automapping
```

```
DataMigratePro -t putalldata --changesonly 1 --automapping
```

### Übertragung einzelner Tabellen

Sofern aus eigenen Abfragen heraus Daten erzeugt und an Business Central gesendet werden sollen, muss neben dem eigentlichen Befehl auch zuvor eine Mapping Datei angelegt werden. Hier erst einmal der Befehl.

```
DataMigratePro -t putdata -s 50149 \ -i "SELECT Feld1,Feld2 FROM Datenbank.dbo.MeineTabelle" \ -m mapping\MeineTabelle.mapping.json
```

```
DataMigratePro -t putdata -s 50149 \ -i "SELECT Feld1,Feld2 FROM Datenbank.dbo.MeineTabelle" \ -m mapping\MeineTabelle.mapping.json
```

Eine passende Mapping-Datei könnte dann so aussehen:

```
{
    "MeineTabelle": [
        {
            "FieldNo": 1,
            "FieldName": "Feld 1",
            "MappedName": "Feld1",
            "Validate": false
        },
        {
            "FieldNo": 2,
            "FieldName": "Feld 2",
            "MappedName": "Feld2",
            "Validate": false,
            "Format": "yyyy-MM-ddTHH:mm:ss"
        }
    ],
    "ValidateOnInsert": false,
    "ValidateOnModify": false,
    "ValidateOnDelete": false
}
```

```
{
    "MeineTabelle": [
        {
            "FieldNo": 1,
            "FieldName": "Feld 1",
            "MappedName": "Feld1",
            "Validate": false
        },
        {
            "FieldNo": 2,
            "FieldName": "Feld 2",
            "MappedName": "Feld2",
            "Validate": false,
            "Format": "yyyy-MM-ddTHH:mm:ss"
        }
    ],
    "ValidateOnInsert": false,
    "ValidateOnModify": false,
    "ValidateOnDelete": false
}
```

### Empfangen von Daten

Soll festgestellt werden, was zuletzt an Business Central gesendet wurde, muss zuvor über einen Befehl diese Information abgefragt werden:

```
DataMigratePro -t getdata -s 50005 -n "BC Table Statistics" -m mapping/TableStatistics.mapping.json
```

```
DataMigratePro -t getdata -s 50005 -n "BC Table Statistics" -m mapping/TableStatistics.mapping.json
```

Ebenso kann man die aktuelle Struktur der Tabellen in Business Central in die Konfiguration Datenbank einlesen

```
DataMigratePro -t getdata -s 2000000058 -v "WHERE(Field1=1(1))" -n "BC Table" -m mapping\AllObjWithCaption.mapping.json
```

```
DataMigratePro -t getdata -s 2000000058 -v "WHERE(Field1=1(1))" -n "BC Table" -m mapping\AllObjWithCaption.mapping.json
```

```
DataMigratePro -t getdata -s 2000000041 -n "BC Field" -m mapping\Field.mapping.json
```

```
DataMigratePro -t getdata -s 2000000041 -n "BC Field" -m mapping\Field.mapping.json
```

Der erste Befehl lädt alle verfügbaren Tabellen ein, während der zweite Befehl die zugehörigen Felder ausließt. Die entsprechenden Tabellen `BC Table` und `BC Field` sind anschließend aktualisiert.

### Löschen von Daten in Business Central

Komplette Inhalte oder eine gefilterte von Datensätze können über `deletedata` gelöscht werden. So wird im folgenden Befehl der Datensatz der Tabelle Payment Terms mit dem Primärschlüssel LM gelöscht.

```
DataMigratePro -t deletedata -s 3 -v "WHERE(Field1=1(LM)"
```

```
DataMigratePro -t deletedata -s 3 -v "WHERE(Field1=1(LM)"
```

### Ausführen von Codeunits

Mit folgendem Befehl wird die Codeunit 50001 ausgeführt.

```
DataMigratePro -t execute -s 50001
```

```
DataMigratePro -t execute -s 50001
```

### Ausführen von DataMigratePro als Service

Man kann entweder DataMigratePro als permanenten Hintergrunddienst laufen lassen indem man diesen als Service installiert.

```
sc create DataMigrateProService binPath= "\"C:\path\to\DataMigratePro.exe\" --service 8000" start= auto
```

```
sc create DataMigrateProService binPath= "\"C:\path\to\DataMigratePro.exe\" --service 8000" start= auto
```

Oder man kann dies temporär auf der Kommandozeile initiieren

```
DataMigratePro --service 8000
```

```
DataMigratePro --service 8000
```

Hierbei ist die Portnummer frei zu wählen. Indem man die Funktion `SendDataToBusinessCentral` in der mitgelieferten Codeunit `BC Migration Manager` mit dem einzigen Parameter RecordRef aufruft, wird genau dieser Datensatz sofort aber asynchron an Business Central gesendet. Zuvor wurde in der lokalen Konfiguration in Navision der PC-Name und der Port angegeben, auf dem dieser Service läuft.

### Import von Bildern und Dateien in Business Central (noch nicht implementiert)

Der Parameter `-t importimages` ermöglicht das automatische Einlesen einer Verzeichnisstruktur und das Hochladen von Dateien in das Business Central System. Diese Dateien werden einem **Media**– oder **Mediaset**-Feld einer bestimmten Tabelle zugeordnet. Nach dem Import steht in dem jeweiligen Feld eine GUID, die auf die Tabelle **Tenant Media** verweist, in der die eigentlichen Dateien gespeichert werden.

**Befehlssyntax:**

```
DataMigratePro -t importimages -s <TableNo> --field <FieldName> --sourcepath "<Pfad zur Verzeichnisstruktur>"
```

```
DataMigratePro -t importimages -s <TableNo> --field <FieldName> --sourcepath "<Pfad zur Verzeichnisstruktur>"
```

**Parameterbeschreibung:**

- `-s <TableNo>`: Gibt die Ziel-Tabelle in Business Central an, in die die Bilder importiert werden.
- `--field <FieldName>`: Gibt das Zielfeld in der Tabelle an, das als **Media** oder **Mediaset** konfiguriert ist.
- `--sourcepath "<Pfad zur Verzeichnisstruktur>"`: Gibt das Quellverzeichnis mit den zu importierenden Dateien an.

#### Funktionsweise:

1. **Verzeichnis scannen**: Das angegebene Quellverzeichnis wird rekursiv durchsucht, um alle unterstützten Dateiarten zu identifizieren. Der jeweilige Verzeichnisname bestimmt den Primärschlüssel der Zieltabelle.
2. **Dateien hochladen**: Jede Datei wird als Blob in die Tabelle **Tenant Media** hochgeladen. Dabei wird eine neue GUID für die Datei erstellt.
3. **Verknüpfung mit Zieltabelle**: Die generierte GUID wird in das angegebene **Media**– oder **Mediaset**-Feld der Zieltabelle eingetragen.
4. **Speicherung in Tenant Media Set**: Falls ein Mediaset verwendet wird, werden die hochgeladenen Dateien mit einem **Tenant Media Set** verknüpft.

#### Beispiel:

```
DataMigratePro -t importimages -s 50000 --field "Produktbild" --sourcepath "C:\Produktbilder"
```

```
DataMigratePro -t importimages -s 50000 --field "Produktbild" --sourcepath "C:\Produktbilder"
```

- Dieser Befehl importiert alle Bilder aus `C:\Produktbilder` in das **Media**-Feld `Produktbild` der Tabelle **50000 (z. B. Artikel)**.
- Die Bilder werden in **Tenant Media** gespeichert, und die Feldwerte in der Artikeltabelle enthalten nach dem Import die entsprechenden GUIDs.

#### Voraussetzungen:

- Die Zieltabelle muss ein **Media**– oder **Mediaset**-Feld enthalten.
- Die Business Central Instanz muss für die Verwendung von Media-/Mediaset-Feldern konfiguriert sein.

#### Unterstützte Dateiformate:

- Bilder: `jpg`, `png`, `gif`, `bmp`, `tiff`
- Dokumente: `pdf`, `txt`, `docx`
