Microsoft Dynamics GP verilerini bir veritabanından dışarı aktarmak ve verileri yeni bir veritabanına aktarmak için Toplu Kopyalama İşlemi'ni (BCP) kullanma
Bu makalede, Verileri dışarı aktarmak ve Microsoft Dynamics GP veya Microsoft Business Solutions - Great Plains kullanarak verileri içeri aktarmak için Toplu Kopyalama İşlemi'nin (BCP) nasıl kullanılacağı açıklanır.
Şunlar için geçerlidir: Microsoft Dynamics GP
Özgün KB numarası: 875179
Giriş
Şirket veritabanınızı yedekleyin.
Aşağıdaki CreateBulkCopyOut.sql betiğini kopyalayıp Microsoft SQL Query Analyzer'a yapıştırın.
/* 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
Betikte aşağıdaki yer tutucuları doğru bilgilerle değiştirin:
TWO değerini şirket veritabanınızın adıyla değiştirin.
Parolayı sa parolanızla değiştirin.
SERVERNAME yerine Microsoft SQL Server örneğinizin adını yazın.
Not
Sorgu Çözümleyicisi'ni açmak için Başlat'ı seçin, Programlar'ın üzerine gelin, Microsoft SQL Server'nin üzerine gelin ve sorgu çözümleyicisi'ni seçin.
Not
Microsoft SQL Server 2000 Masaüstü Altyapısı (MSDE 2000 olarak da bilinir) kullanıyorsanız, Microsoft Desteği Yönetici Konsolu'nda deyimini çalıştırın. Destek Yöneticisi Konsolu'nu açmak için Başlat'ı seçin, Programlar'ın üzerine gelin, yönetici konsolu Microsoft Desteği üzerine gelin ve ardından Destek Yöneticisi Konsolu'nu seçin. Destek Yöneticisi Konsolu ayrı bir yükleme gerektirir. 2 numaralı Great Plains yükleme CD'sini kullanarak programı yükleyebilirsiniz.
Betiği veritabanında çalıştırın ve sonuçları bir toplu iş dosyasına kaydedin. Bunu yapmak için şu adımları uygulayın:
- Sorgu Çözümleyicisi'ni kullanıyorsanız sonuçlar bölmesini ve ardından Dosya menüsünde Farklı Kaydet'i seçin. BCPData adlı bir klasör oluşturun, bu dosyayı Copyout.batadlandırın ve kaydet'i seçin.
- Destek Yöneticisi Konsolu kullanıyorsanız Dosya'yı ve ardından Dışarı Aktar'ı seçin. Bir klasör oluşturun ve BCPData olarak adlandırır. Dosyayı Copyout.batolarak adlandırın. Ardından Kaydet'i seçin.
Aşağıdaki CreateBulkCopyIn.sql betiğini kopyalayıp Sorgu Çözümleyicisi'ne yapıştırın.
/* 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
Betikte aşağıdaki yer tutucuları doğru bilgilerle değiştirin:
TWO değerini şirket veritabanınızın adıyla değiştirin.
Parolayı sa parolanızla değiştirin.
SERVERNAME değerini SQL Server örneğinizin adıyla değiştirin.
Not
Sorgu Çözümleyicisi'ni açmak için Başlat'ı seçin, Programlar'ın üzerine gelin, Microsoft SQL Server'nin üzerine gelin ve sorgu çözümleyicisi'ni seçin.
Not
SQL Server 2000 Masaüstü Altyapısı kullanıyorsanız, Destek Yöneticisi Konsolu'nda deyimini çalıştırın. Destek Yöneticisi Konsolu'nu açmak için Başlat'ı seçin, Programlar'ın üzerine gelin, yönetici konsolu Microsoft Desteği üzerine gelin ve ardından Destek Yöneticisi Konsolu'nu seçin. Destek Yöneticisi Konsolu ayrı bir yükleme gerektirir. 2 numaralı Great Plains yükleme CD'sini kullanarak programı yükleyebilirsiniz.
Betiği veritabanında çalıştırın ve sonuçları bir toplu iş dosyasına kaydedin.
- Sorgu Çözümleyicisi'ni kullanıyorsanız sonuçlar bölmesini ve ardından Dosya menüsünde Farklı Kaydet'i seçin. Bir klasör oluşturun ve BCPData olarak adlandırır. Dosyayı Copyin.bat adlandırın ve Kaydet'i seçin.
- Destek Yöneticisi Konsolu kullanıyorsanız Dosya'yı ve ardından Dışarı Aktar'ı seçin. Bir klasör oluşturun ve BCPData olarak adlandırır. Dosyayı Copyin.batolarak adlandırın. Ardından Kaydet'i seçin.
Verileri şirket veritabanından taşımak için bir bcp komutu yapın. Bunu yapmak için uygun yöntemi kullanın.
Microsoft SQL Server 2000 veya MSDE 2000 için
BCPData klasörünü açın.
Copyout.bat dosyasına çift tıklayın.
Not
Toplu iş dosyası, veritabanındaki verileri bir metin dosyasına kopyalamak için BCP işlemini başlatır.
BCPData klasörünü açın.
Copyout.bat dosyasına sağ tıklayın ve düzenle'yi seçerek dosyayı Not Defteri'nde veya başka bir metin düzenleyicisinde açın
Tüm metni seçin. Bunu yapmak için Düzenle'yi ve ardından Tümünü Seç'i seçin. Alternatif olarak Alt+A tuşlarına da bas.
Copyout.bat dosyasındaki tüm metni Pano'ya kopyalayın. Bunu yapmak için Düzenle'yi ve ardından Kopyala'yı seçin. Alternatif olarak Ctrl+C tuşlarına da basabilirsiniz.
Bir Komut İstemi penceresi açın. Bunu yapmak için Başlat'ı seçin, Çalıştır'ı seçin, cmd yazın ve ardından Tamam'ı seçin.
Copyout.bat dosyasının içeriğini Komut İstemi penceresine yapıştırın. Bunu yapmak için pencereye sağ tıklayın ve yapıştır'ı seçin.
Microsoft SQL Server 2005 için
BCPData klasörünü açın.
Copyout.bat dosyasına çift tıklayın.
Not
Toplu iş dosyası, veritabanındaki verileri bir metin dosyasına kopyalamak için BCP işlemini başlatır.
Şirketi Microsoft Dynamics GP içinden silin. Bunu yapmak için Great Plains'de sa kullanıcısı olarak oturum açın. Araçlar'ı seçin, Kurulum'un üzerine gelin, Sistem'in üzerine gelin ve şirket'i seçin. Listelenen tüm şirketleri görüntülemek için arama camını seçin. Şirketi ve ardından Sil'i seçin.
Not
Microsoft Great Plains 8.0'dan önceki Microsoft Great Plains sürümleri için şirketi silin. Şirketi silmek için aşağıdakileri yapın: Kurulum menüsünde Sistem'i ve ardından Şirket'i seçerek şirketi silin.
Veritabanını kaldırın.
Microsoft SQL Server kullanıyorsanız Enterprise Manager'ı açın, sunucu adını genişletin, Veritabanı'nı genişletin, 7. adımda sildiğiniz şirket veritabanına sağ tıklayın ve sil'i seçin.
SQL Server 2000 Masaüstü Altyapısı kullanıyorsanız, aşağıdaki betiği çalıştırarak veritabanını Destek Yöneticisi Konsolu'ndan kaldırın; burada İkİ, veritabanının adıdır.
DROP DATABASE TWO
Şirket veritabanını ve yordamlarını yeniden oluşturun. Bunu yapmak için Microsoft Dynamics GP Yardımcı Programları'nı başlatın, sa kullanıcısı olarak oturum açın ve Ek Görevler iletişim kutusunda Yeni şirket oluştur'u seçin.
Not
7. adımda sildiğiniz şirket adıyla aynı şirket adını kullanın.
Şirket oluşturulduktan sonra tabloların kesilmesi gerekir.
Microsoft SQL Server kullanıyorsanız Sorgu Çözümleyicisi'nde aşağıdaki Truncate_Table_Company.sql betiğini çalıştırın.
/* 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
SQL Server 2000 Masaüstü Altyapısı kullanıyorsanız, Destek Yöneticisi konsolunda aşağıdaki betikleri ayrı olarak çalıştırın.
Betik 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
Betik 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
Betik 3
ALTER TABLE dbo.RM00105 ADD CONSTRAINT RM_NationalAccounts_MSTR_FKC FOREIGN KEY ( CPRCSTNM ) REFERENCES dbo.RM00101 ( CUSTNMBR )
Verileri şirket veritabanına geri taşıyın. Bunu yapmak için BCPData klasörünü açın ve Copyin.bat toplu iş dosyasına çift tıklayın. Bu toplu iş dosyasını çalıştırmak, verileri şirket veritabanına geri taşıma işlemini başlatır. Veriler veritabanına geri taşındığında, her tablo için tüm dizinler oluşturulur ve doğrulanır.
Not
İşlem tamamlandığında BCPData klasörü .err dosyalarını içerir. Bu .err dosyalarından herhangi biri 0 KB'tan büyükse, şirket veritabanı için veriler başarıyla içeri aktarılmamıştı.
Diğer adımlar
Microsoft SQL Server Sıralama Düzeninizi değiştirmek için BCP işlemini kullanıyorsanız verileri DYNAMICS veritabanından ve tüm Şirket veritabanlarından toplu olarak kopyalamanız gerekir.
Not
DYNAMICS veritabanı ve Şirket veritabanı için Microsoft SQL Server Sıralama Düzeni'nin değiştirilmesi Microsoft tarafından desteklenmez. Microsoft SQL Server Sıralama Düzeni'ni sizin için değiştirebilecek danışmanlık hizmetleri hakkında bilgi için, müşteri veya iş ortağı olmanıza bağlı olarak aşağıdaki seçeneklerden birini kullanın:
Müşteri:
Veri işleme danışmanlık hizmetleri hakkında daha fazla bilgi için kayıt iş ortağınıza başvurun. Kayıtlı bir iş ortağınız yoksa, bir iş ortağını tanımlamak için Microsoft Pinpoint'i ziyaret edin.
Ortak:
Veri işleme danışmanlık hizmetleri hakkında daha fazla bilgi için 800-MPN-SOLVE adresinden Microsoft Danışmanlık Hizmetleri ile iletişime geçin.
Bunu yapmak için Giriş bölümündeki 1 ile 11 arasında olan adımları izleyin. 10. adımda DYNAMICS veritabanını da kesmeniz gerekir. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın:
Microsoft SQL Server kullanıyorsanız Sorgu Çözümleyicisi'nde aşağıdaki Truncate_Tables_Dynamics.sql betiğini çalıştırın.
/* ** ** 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
Microsoft SQL Server 2000 Masaüstü Altyapısı kullanıyorsanız, Destek Yöneticisi konsolunda aşağıdaki betikleri ayrı olarak çalıştırın.
Betik 1
if exists (select * from sysobjects where name = 'orgEntity_SETP') ALTER TABLE dbo.ORG40100 DROP CONSTRAINT orgEntity_SETP
Betik 2
if exists (select * from sysobjects where name = 'orgRelation_MSTR') ALTER TABLE dbo.ORG00100 DROP CONSTRAINT orgRelation_MSTR
Betik 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
Betik 4
ALTER TABLE dbo.ORG40100 ADD CONSTRAINT orgEntity_SETP FOREIGN KEY ( ENTYLVL ) REFERENCES dbo.ORG40000 ( ENTYLVL )
Betik 5
ALTER TABLE dbo.ORG00100 ADD CONSTRAINT orgRelation_MSTR FOREIGN KEY ( ENTITYID ) REFERENCES dbo.ORG40100 ( ENTITYID )
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin