2010-10-20 8 views
6

से एक तालिका बना सकता है SqlBulkCopy एक तालिका बना सकते हैं, जैसा कि एक चयन की तरह है?क्या SqlBulkCopy एक एसक्यूएल चयन

+0

मैं ओरेकल डेटाबेस से डेटा को एक एसक्यूएल सर्वर डेटाबेस में ले जाना चाहता हूं, और गंतव्य टेबल स्वचालित रूप से बनाया जाना चाहूंगा, क्या यह संभव है एसकब्लूल्ककॉपी का उपयोग करना? –

उत्तर

0

ऐसा लगता है कि SqlBulkCopy स्वयं टेबल नहीं बना सकता है। गंतव्य तालिका को पूर्वनिर्धारित किया जाना है। इस मामले में जहां गंतव्य एक ऑटो वृद्धिशील पहचान (पूर्णांक) मिल गया है में, बस का चयन करें बयान अर्थात

SELECT 
    1, 
    [ColumnName], 
    [ColumnName]... 
FROM TABLENAME 

एसक्यूएल सर्वर में एक 1 का उपयोग अपने आप में ऑटो वेतन वृद्धि को संभाल लेंगे।

+0

क्या होगा यदि फ़ाइल हर बार अलग होती है, वैसे भी यह फ्लाई पर टेबल बना सकता है? – Si8

0

मुझे लगता है कि उपर्युक्त उत्तर बिल्कुल स्पष्ट नहीं था।

आपको SQL के साथ तालिका बनाना होगा। और कोई रास्ता नहीं है। और अगर आप स्तंभ संरचना बनाने के लिए सिर्फ जरूरत है, तो यह काफी सरल है, तो अपने स्रोत एक ही सर्वर में है, यह ऐसा करने के लिए पर्याप्त है:

Select * from source_table into destination_table where 1=2 

यदि आपका स्रोत एक ही सर्वर में नहीं है (उदाहरण के लिए यह है

Select * from source_table where 1=2 

और उसके बाद DataTable में परिणाम एकत्रित करते हैं: एक्सेल या DBF फ़ाइल या जो कुछ भी), ऐसा करने के लिए सबसे आसान काम ODBC (या SQL संभव हो तो) से उसे कनेक्ट, और उसे भेजने के लिए है। फिर दूसरे चरण में आपको अपने गंतव्य सर्वर पर संग्रहित प्रक्रिया बनाना चाहिए जो उस तालिका को तर्क के रूप में ले जाएगा और फिर इसे नई तालिका में डालें।

थोड़ा अधिक सटीक, एसक्यूएल प्रक्रिया के लिए यह प्रयास करें: http://www.builderau.com.au/program/sqlserver/soa/Passing-table-valued-parameters-in-SQL-Server-2008/0,339028455,339282577,00.htm

और सी # में SqlCommnand वस्तु बनाने और उसके पैरामीटर संग्रह SqlParameter कि SqlDbType.Structured है

मैं हर एक में जाना नहीं था करने के लिए जोड़ विस्तार, लेकिन उम्मीद है कि यह मदद कर सकता है।

संबंधित मुद्दे