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
-
Erstellen Sie eine Sicherung Ihrer Unternehmensdatenbank.
-
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 nameErsetzen 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. -
-
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".
-
-
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 nameErsetzen 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. -
-
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".
-
-
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
-
Öffnen Sie den Ordner "BCPData".
-
Doppelklicken Sie auf Copyout.bat Datei.
Hinweis: Die Batchdatei startet den BCP-Prozess, um die Daten aus der Datenbank in eine Textdatei zu kopieren. -
Öffnen Sie den Ordner "BCPData".
-
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.
-
Markieren sie den ganzen Text. Klicken Sie dazu auf "Bearbeiten"und dann auf "Alles auswählen". Oder drücken Sie ALT+A.
-
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.
-
Öffnen Sie ein Eingabeaufforderungsfenster. Klicken Sie dazu auf "Start",klicken Sie auf "Ausführen",geben Sie "cmd" ein, und klicken Sie dann auf "OK".
-
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
-
Öffnen Sie den Ordner "BCPData".
-
Doppelklicken Sie auf Copyout.bat Datei.
Hinweis: Die Batchdatei startet den BCP-Prozess, um die Daten aus der Datenbank in eine Textdatei zu kopieren.
-
-
-
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. -
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
-
-
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. -
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
)
-
-
-
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 )
-