استيراد وتصدير بيانات SQL Server من سطر الأوامر مع Bcp

Bcp هو أسرع طريقة للحصول على البيانات في قاعدة بيانات

يوفر لك النسخ بالجملة (bcp) الأمر لـ Microsoft SQL Server القدرة على إدراج أعداد كبيرة من السجلات مباشرة من سطر الأوامر. بالإضافة إلى كونها أداة مفيدة لعشاق سطر الأوامر ، فإن الأداة المساعدة bcp هي أداة قوية لأولئك الذين يسعون إلى إدخال البيانات في قاعدة بيانات SQL Server من خلال ملف دفعي أو طريقة برمجية أخرى. هناك الكثير من الطرق للحصول على البيانات في قاعدة بيانات ، ولكن bcp هي الأسرع عندما يتم إعدادها باستخدام المعلمات الصحيحة.

بناء الجملة bcp

الصيغة الأساسية لاستخدام bcp هي:

BCP

حيث تأخذ الوسيطات القيم التالية:

سبيل المثال استيراد bcp

لوضع كل ذلك معًا ، تخيل أن لديك جدول ثمار في قاعدة بيانات المستودع وتريد استيراد جميع السجلات من ملف نصي مخزّن على محرك الأقراص الثابتة في قاعدة البيانات تلك. يمكنك استخدام بناء الجملة الأمر bcp التالي:

bcp inventory.dbo.fruits في "C: \ fruit \ inventory.txt" -c -T

هذا ينتج الإخراج التالي:

C: \> bcp inventory.dbo.fruits في "C: \ fruit \ inventory.txt" -c -T بدء النسخ ... 36 تم نسخ صفوف. حجم حزمة شبكة الاتصال (بايت): 4096 وقت الساعة (مللي ثانية) الإجمالي: 16 متوسط: (2250.00 الصفوف في الثانية.) C: \>

ربما لاحظت خيارين جديدين على سطر الأوامر هذا. يحدد الخيار –c أن تنسيق ملف ملف الاستيراد سيكون نصًا مفصولًا بعلامات جدولة مع كل سجل في سطر جديد. يحدد الخيار –T أن bcp يجب أن يستخدم مصادقة Windows للاتصال بقاعدة البيانات.

مثال تصدير bcp

يمكنك تصدير البيانات من قاعدة البيانات الخاصة بك مع bcp عن طريق تغيير اتجاه العملية من "في" إلى "خارج". على سبيل المثال ، يمكنك تفريغ محتويات جدول الفاكهة إلى ملف نصي باستخدام الأمر التالي:

bcp inventory.dbo.fruits out "C: \ fruit \ inventory.txt" -c -T

فيما يلي كيفية ظهور ذلك على سطر الأوامر:

C: \> bcp inventory.dbo.fruits out "C: \ fruit \ inventory.txt" -c -T Starting copy ... تم نسخ 42 صفًا. حجم حزمة الشبكة (بايت): 4096 وقت الساعة (مللي ثانية) الإجمالي: 1 متوسط: (42000.00 صف لكل ثانية) C: \>

هذا كل ما يوجد لأمر bcp. يمكنك استخدام هذا الأمر من داخل ملفات دفعية أو برامج أخرى مع الوصول إلى سطر الأوامر DOS لأتمتة استيراد وتصدير البيانات من قاعدة بيانات SQL Server.