मैं एक .csv फ़ाइल से SQL Server 2012 डेटाबेस में डेटा का एक बहुत बड़ा सेट डंप करने का प्रयास कर रहा हूं। हजारों INSERT करने की बजाय, मैं bcp
की जांच कर रहा हूं।बीसीपी कोई त्रुटि नहीं देता है, लेकिन किसी भी पंक्तियों की प्रतिलिपि नहीं करता है
संपादित करें: यह एक स्वचालित प्रक्रिया के लिए है, न केवल एक बंद है। मेरे पास इस डेटाबेस के लिए BULK INSERT
अधिकार नहीं है।
जब मैं डेटाबेस में डेटा कॉपी करने का प्रयास करता हूं, bcp
कोई त्रुटि नहीं देता है, लेकिन वास्तव में कुछ भी कॉपी नहीं करता है - यह केवल 0 rows copied
देता है। मैंने इसे कम से कम मामले में दबा दिया है जो काम नहीं करता है।
सबसे पहले, दो कॉलम के साथ एक सरल तालिका बनाने:
CREATE TABLE [dbo].[mincase](
[key] [varchar](36) NOT NULL,
[number] [int] NOT NULL
PRIMARY KEY CLUSTERED
(
[key] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 40) ON [PRIMARY]
) ON [PRIMARY]
GO
फिर, bcp
का उपयोग इस से एक प्रारूप फ़ाइल बनाने के लिए। ध्यान दें कि यह उदाहरण एक एक्सएमएल प्रारूप फ़ाइल बनाता है, लेकिन इससे कोई फर्क नहीं पड़ता कि यह XML है या इसके लिए मूल है।
bcp MyDB.dbo.mincase format nul -T -n -f mincasexml.fmt -x -S .\SQLEXPRESS
अब एक पंक्ति और दो प्रविष्टियों, टैब-सीमांकित के साथ एक डेटा.csv फ़ाइल बनाएं। फिर से, कि एक टैब, नहीं दो रिक्त स्थान है, और यह बात करने के अनुगामी नई पंक्तियों या नहीं देखते हैं कि क्या नहीं लगता है
somecharacters 12345
: मेरे मामले में, फ़ाइल बस है।
bcp MyDB.dbo.mincase in data.csv -f mincasexml.fmt -T -S .\SQLEXPRESS
बजाय डेटाबेस के लिए डेटा की प्रतिलिपि, मैं इस:
Starting copy...
0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 1
किसी को भी पता है
अब जब कि प्रारूप फ़ाइल के साथ bcp
उपयोग करने के लिए इस फ़ाइल से डेटा को सम्मिलित करने की कोशिश यहाँ क्या चल रहा है?
धन्यवाद!
क्या आपने आयात डेटा विकल्प का प्रयास किया है? –