Verwenden des Massenkopiervorgangs (Bulk Copy Process, BCP) zum Exportieren von Microsoft Dynamics -GP-Daten aus einer Datenbank und Importieren von Daten in eine neue Datenbank

EINFÜHRUNG

In diesem Artikel wird erläutert, wie Sie den Massenkopiervorgang (Bulk Copy Process, BCP) zum Exportieren von Daten und zum Importieren von Daten mithilfe von Microsoft Dynamics GP oder Microsoft Business Solutions – Great Plains verwenden.

Weitere Informationen

  1. Erstellen Sie eine Sicherung Ihrer Unternehmensdatenbank.

  2. Kopieren Sie das folgende Skript "CreateBulkCopyOut.sql", und fügen Sie es in Microsoft SQL Query Analyzer ein.

    /* Script to create bcp commands to export data for all tables. */ 
    SET QUOTED_IDENTIFIER OFF
    select 'bcp "TWO..' + name + '" out ' + name + '.out -e ' + name + '.err -c -b 1000 -U sa -P password -t "|" -S SERVERNAME -r "#EOR#\n"'
    from sysobjects where type = 'U' order by name

    Ersetzen Sie im Skript die folgenden Platzhalter durch die richtigen Informationen:

    • Ersetzen Sie ZWEI durch den Namen Ihrer Firmendatenbank.

    • Ersetzen Sie das Kennwort durch Ihr Sa-Kennwort.

    • Ersetzen Sie SERVERNAME durch den Namen Ihrer Instanz Microsoft SQL Server.

    Hinweis: Klicken Sie zum Öffnen des Abfrageanalyse-Analyse-Analysegeräts auf "Start",zeigen Sie auf "Programme", zeigen Sie Microsoft SQL Server,und klicken Sie dann auf "Abfrageanalyse".



    Hinweis Wenn Sie das Microsoft SQL Server 2000 Desktop Engine (auch bekannt als MSDE 2000) verwenden, führen Sie die Anweisung in der Microsoft Support Administrator Console aus. Um die Supportadministratorkonsole zu öffnen, klicken Sie auf "Start",zeigen Sie auf "Programme", zeigen Sie auf die Microsoft Support Administrator Console,und klicken Sie dann auf "Support-Administratorkonsole". Die Supportadministratorkonsole erfordert eine separate Installation. Sie können das Programm installieren, indem Sie die Great Plains-Installations-CD 2 verwenden.

  3. Führen Sie das Skript für die Datenbank aus, und speichern Sie die Ergebnisse dann in einer Batchdatei. Gehen Sie dazu wie folgt vor:

    • Wenn Sie die Abfrageanalyse verwenden, klicken Sie in den Ergebnisbereich, und klicken Sie dann im Menü "Datei" auf "Speichern unter". Erstellen Sie einen Ordner mit dem Namen "BCPData", geben Sie dieser Copyout.bat, und klicken Sie dann auf "Speichern".

    • Wenn Sie die Supportadministratorkonsole verwenden, klicken Sie auf "Datei"und dann auf "Exportieren". Erstellen Sie einen Ordner, und nennen Sie ihn "BCPData". Geben Sie der Datei einen Copyout.bat. Klicken Sie dann auf "Speichern".

  4. Kopieren Sie das folgende Skript "CreateBulkCopyIn.sql", und fügen Sie es in den Query Analyzer ein.

    /* Script to create bcp commands to import data for all tables. */ 
    SET QUOTED_IDENTIFIER OFF
    select 'bcp "TWO..' + name + '" in ' + name + '.out -e ' + name + '.err -c -b 1000 -U sa -P password -t "|" -S SERVERNAME -r "#EOR#\n"'
    from sysobjects where type = 'U' order by name

    Ersetzen Sie im Skript die folgenden Platzhalter durch die richtigen Informationen:

    • Ersetzen Sie ZWEI durch den Namen Ihrer Firmendatenbank.

    • Ersetzen Sie das Kennwort durch Ihr Sa-Kennwort.

    • Ersetzen Sie SERVERNAME durch den Namen Ihrer Instanz SQL Server.


    Hinweis: Klicken Sie zum Öffnen des Abfrageanalyse-Analyse-Analysegeräts auf "Start",zeigen Sie auf "Programme", zeigen Sie Microsoft SQL Server,und klicken Sie dann auf "Abfrageanalyse".

    Hinweis Wenn Sie das 2000 SQL Server 2000 Desktop Engine verwenden, führen Sie die Anweisung in der Supportadministratorkonsole aus. Um die Supportadministratorkonsole zu öffnen, klicken Sie auf "Start",zeigen Sie auf "Programme", zeigen Sie auf die Microsoft Support Administrator Console,und klicken Sie dann auf "Support-Administratorkonsole". Die Supportadministratorkonsole erfordert eine separate Installation. Sie können das Programm installieren, indem Sie die Great Plains-Installations-CD 2 verwenden.

  5. Führen Sie das Skript für die Datenbank aus, und speichern Sie die Ergebnisse dann in einer Batchdatei.

    • Wenn Sie die Abfrageanalyse verwenden, klicken Sie in den Ergebnisbereich, und klicken Sie dann im Menü "Datei" auf "Speichern unter". Erstellen Sie einen Ordner, und nennen Sie ihn "BCPData". Geben Sie der Datei Copyin.bat, und klicken Sie dann auf "Speichern".

    • Wenn Sie die Supportadministratorkonsole verwenden, klicken Sie auf "Datei" und dann auf "Exportieren". Erstellen Sie einen Ordner, und nennen Sie ihn "BCPData". Geben Sie der Datei einen Copyin.bat. Klicken Sie dann auf "Speichern".

  6. Führen Sie einen bcp-Befehl aus, um die Daten aus der Unternehmensdatenbank zu verschieben. Verwenden Sie dazu die entsprechende Methode.

    • Für Microsoft SQL Server 2000 oder MSDE 2000

      1. Öffnen Sie den Ordner "BCPData".

      2. Doppelklicken Sie auf Copyout.bat Datei.

        Hinweis: Die Batchdatei startet den BCP-Prozess, um die Daten aus der Datenbank in eine Textdatei zu kopieren.

      3. Öffnen Sie den Ordner "BCPData".

      4. Klicken Sie mit der rechten Maustaste auf Copyout.bat Datei, und klicken Sie dann auf "Bearbeiten", um die Datei in Editor oder in einem anderen Texteditor zu öffnen.

      5. Markieren sie den ganzen Text. Klicken Sie dazu auf "Bearbeiten"und dann auf "Alles auswählen". Oder drücken Sie ALT+A.

      6. Kopieren Sie den ganzen Text aus der Copyout.bat in die Zwischenablage. Klicken Sie dazu auf "Bearbeiten"und dann auf "Kopieren". Oder drücken Sie STRG+C.

      7. Öffnen Sie ein Eingabeaufforderungsfenster. Klicken Sie dazu auf "Start",klicken Sie auf "Ausführen",geben Sie "cmd" ein, und klicken Sie dann auf "OK".

      8. Fügen Sie den Inhalt der Copyout.bat in das Eingabeaufforderungsfenster ein. Klicken Sie dazu mit der rechten Maustaste auf das Fenster, und klicken Sie dann auf "Einfügen".

    • For Microsoft SQL Server 2005

      1. Öffnen Sie den Ordner "BCPData".

      2. Doppelklicken Sie auf Copyout.bat Datei.

        Hinweis: Die Batchdatei startet den BCP-Prozess, um die Daten aus der Datenbank in eine Textdatei zu kopieren.

  7. Löschen Sie das Unternehmen in Microsoft Dynamics GP. Melden Sie sich dazu als Sa-Benutzer bei Great Plains an. Klicken Sie auf "Extras",zeigen Sie auf "Setup",zeigen Sie auf "System", und klicken Sie dann auf "Firma". Klicken Sie auf das Nachschlageglas, um alle aufgelisteten Unternehmen anzeigen. Wählen Sie das Unternehmen aus, und klicken Sie dann auf "Löschen".

    Hinweis: Löschen Sie bei Versionen von Microsoft Great Plains, die vor Microsoft Great Plains 8.0 erstellt wurden, das Unternehmen. Gehen Sie wie folgt vor, um das Unternehmen zu löschen: Klicken Sie im Menü "Setup" auf "System"und dann auf "Firma", um das Unternehmen zu löschen.

  8. Entfernen Sie die Datenbank.

    • Wenn Sie Microsoft SQL Server verwenden, öffnen Sie Enterprise Manager, erweitern Sie den Servernamen, erweitern Sie "Datenbank",klicken Sie mit der rechten Maustaste auf die Unternehmensdatenbank, die Sie in Schritt 7 gelöscht haben, und wählen Sie dann "Löschen" aus.

    • Wenn Sie das SQL Server 2000 Desktop Engine verwenden, entfernen Sie die Datenbank aus der Support Administrator Console, indem Sie das folgende Skript ausführen, wobei ZWEI der Name der Datenbank ist.

       DROP DATABASE TWO 
  9. Erstellen Sie die Unternehmensdatenbank und -verfahren erneut. Starten Sie dazu Microsoft Dynamics GP Utilities, melden Sie sich als benutzer sa an, und klicken Sie dann im Dialogfeld "Weitere Aufgaben" auf "Neues Unternehmen erstellen".

    Hinweis: Verwenden Sie denselben Firmennamen wie den, den Sie in Schritt 7 gelöscht haben.

  10. Nachdem das Unternehmen erstellt wurde, müssen die Tabellen abgeschnitten werden.

    • Wenn Sie ein Microsoft SQL Server, führen Sie das folgende Skript "Truncate_Table_Company.sql" im Abfrageanalysesystem aus.

      /* Script to remove all data from all user tables in the company database */
      SET QUOTED_IDENTIFIER OFF
      if exists (select * from sysobjects where name = 'RM_NationalAccounts_MSTR_FKC')
      ALTER TABLE dbo.RM00105
      DROP CONSTRAINT RM_NationalAccounts_MSTR_FKC
      Go
      declare @tablename char(255)
      DECLARE t_cursor CURSOR for
      select "truncate table " + name
      from sysobjects where type = 'U'
      set NOCOUNT on
      open t_cursor
      FETCH NEXT FROM t_cursor INTO @tablename
      while (@@fetch_status <> -1)
      begin
      if (@@fetch_status <> -2)
      begin
      exec (@tablename)
      end
      FETCH NEXT FROM t_cursor into @tablename
      end
      DEALLOCATE t_cursor
      GO
      ALTER TABLE dbo.RM00105 ADD
      CONSTRAINT RM_NationalAccounts_MSTR_FKC FOREIGN KEY
      (
      CPRCSTNM
      ) REFERENCES dbo.RM00101 (
      CUSTNMBR
      )
      GO
    • Wenn Sie das SQL Server 2000 Desktop Engine verwenden, führen Sie die folgenden Skripts separat in der Supportadministratorkonsole aus.

      • Skript 1

         SET QUOTED_IDENTIFIER OFF
        if exists (select * from sysobjects where name = 'RM_NationalAccounts_MSTR_FKC')
        ALTER TABLE dbo.RM00105
        DROP CONSTRAINT RM_NationalAccounts_MSTR_FKC
      • Skript 2

         SET QUOTED_IDENTIFIER OFF
        declare @tablename char(255)
        DECLARE t_cursor CURSOR for
        select "truncate table " + name
        from sysobjects where type = 'U'
        set NOCOUNT on
        open t_cursor
        FETCH NEXT FROM t_cursor INTO @tablename
        while (@@fetch_status <> -1)
        begin
        if (@@fetch_status <> -2)
        begin
        exec (@tablename)
        end
        FETCH NEXT FROM t_cursor into @tablename
        end
        DEALLOCATE t_cursor
      • Skript 3

         ALTER TABLE dbo.RM00105 ADD 
        CONSTRAINT RM_NationalAccounts_MSTR_FKC FOREIGN KEY
        (
        CPRCSTNM
        ) REFERENCES dbo.RM00101 (
        CUSTNMBR
        )
  11. Verschieben Sie die Daten wieder in die Unternehmensdatenbank. Öffnen Sie dazu den Ordner "BCPData", und doppelklicken Sie dann aufCopyin.bat Batchdatei. Das Ausführen dieser Batchdatei beginnt mit dem Verschieben der Daten zurück in die Unternehmensdatenbank. Wenn die Daten wieder in die Datenbank verschoben werden, werden alle Indizes für jede Tabelle erstellt und überprüft.

    Hinweis: Nach Abschluss des Vorgangs enthält der Ordner "BCPData" err-Dateien. Wenn eine dieser Dateien größer als 0 KB ist, wurden die Daten nicht erfolgreich für die Unternehmensdatenbank importiert.

Weitere Schritte

Wenn Sie den BCP-Prozess zum Ändern der Microsoft SQL Server Sortierreihenfolge verwenden, müssen Sie eine Massenkopie von Daten aus der DYNAMICS-Datenbank und allen Unternehmensdatenbanken erstellen.

Hinweis Das Ändern Microsoft SQL Server Sortierreihenfolge für die DYNAMICS-Datenbank und für die Unternehmensdatenbank wird von Microsoft nicht unterstützt. Informationen zu Beratungsdiensten, die zur Änderung der Microsoft SQL Server-Sortierreihenfolge für Sie zur Verfügung stehen, finden Sie unter einer der folgenden Optionen, je nachdem, ob Sie Kunde oder Partner sind: Kunden: Weitere Informationen zu Beratungsdiensten zur Datenmanipulation erhalten Sie von Ihrem jeweiligen


Partner. Wenn Sie keinen partner of record haben, besuchen Sie die folgende Website, um einen Partner zu identifizieren: Microsoft Pinpoint.

Partner: Weitere Informationen zu Beratungsdiensten zur Datenmanipulation erhalten Sie bei Microsoft Advisory Services unter
800-MPN-SOLVE oder per E-Mail unter askpts@microsoft.comFühren Sie dazu die Schritte 1 bis 11 im Abschnitt


"Weitere Informationen" aus. In Schritt 10 müssen Sie auch die Dynamics-Datenbank abschneiden. Wenden Sie hierzu eine der folgenden Methoden an:

  • Wenn Sie ein Microsoft SQL Server verwenden, führen Sie das folgende Skript "Truncate_Tables_Dynamics.sql" im Abfrageanalysesystem aus.

    /* ** **
    Truncate_Tables_Dynamics.sql
    function: Will remove all data from all user tables in the DYNAMICS database
    ** */

    SET QUOTED_IDENTIFIER OFF

    if exists (select * from sysobjects where name = 'orgEntity_SETP')
    ALTER TABLE dbo.ORG40100
    DROP CONSTRAINT orgEntity_SETP
    GO
    if exists (select * from sysobjects where name = 'orgRelation_MSTR')
    ALTER TABLE dbo.ORG00100
    DROP CONSTRAINT orgRelation_MSTR
    Go
    declare @tablename char(255)

    DECLARE t_cursor CURSOR for
    select "truncate table " + name
    from sysobjects where type = 'U'

    set NOCOUNT on
    open t_cursor
    FETCH NEXT FROM t_cursor INTO @tablename
    while (@@fetch_status <> -1)
    begin
    if (@@fetch_status <> -2)
    begin
    exec (@tablename)
    end

    FETCH NEXT FROM t_cursor into @tablename
    end

    DEALLOCATE t_cursor
    GO
    ALTER TABLE dbo.ORG40100 ADD
    CONSTRAINT orgEntity_SETP FOREIGN KEY
    (
    ENTYLVL
    ) REFERENCES dbo.ORG40000 (
    ENTYLVL
    )
    GO
    ALTER TABLE dbo.ORG00100 ADD
    CONSTRAINT orgRelation_MSTR FOREIGN KEY
    ( ENTITYID ) REFERENCES dbo.ORG40100 ( ENTITYID )

    GO
  • Wenn Sie das Microsoft SQL Server 2000 Desktop Engine verwenden, führen Sie die folgenden Skripts separat in der Supportadministratorkonsole aus.

    • Skript 1

      if exists (select * from sysobjects where name = 'orgEntity_SETP')
      ALTER TABLE dbo.ORG40100
      DROP CONSTRAINT orgEntity_SETP
    • Skript 2

      if exists (select * from sysobjects where name = 'orgRelation_MSTR')
      ALTER TABLE dbo.ORG00100
      DROP CONSTRAINT orgRelation_MSTR
    • Skript 3

       declare @tablename char(255) 

      DECLARE t_cursor CURSOR for
      select "truncate table " + name
      from sysobjects where type = 'U'

      set NOCOUNT on
      open t_cursor
      FETCH NEXT FROM t_cursor INTO @tablename
      while (@@fetch_status <> -1)
      begin
      if (@@fetch_status <> -2)
      begin
      exec (@tablename)
      end

      FETCH NEXT FROM t_cursor into @tablename
      end

      DEALLOCATE t_cursor
    • Skript 4

      ALTER TABLE dbo.ORG40100 ADD 
      CONSTRAINT orgEntity_SETP FOREIGN KEY
      (
      ENTYLVL
      ) REFERENCES dbo.ORG40000 (
      ENTYLVL
      )
    • Skript 5

      ALTER TABLE dbo.ORG00100 ADD 
      CONSTRAINT orgRelation_MSTR FOREIGN KEY
      ( ENTITYID ) REFERENCES dbo.ORG40100 ( ENTITYID )

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×