क्या Sql Server Management Studio की टैब-सीमांकित फ़ाइल को क्वेरी करना संभव है, इसके डेटा को कहीं भी सहेजे बिना देखने के लिए?
मुझे पता है कि आप BULK INSERTटैब-सीमांकित फ़ाइल से कुछ का उपयोग कर सकते हैं:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
हालाँकि इसके लिए आपको कॉलम को पहले से जानना होगा और डेटा को होल्ड करने के लिए एक टेबल बनाना होगा।
मुझे यह भी पता है कि आप कुछ अन्य फ़ाइल प्रकारों जैसे कि सीएसवी या एक्सेल का उपयोग किए बिना कॉलम को परिभाषित करने OPENROWSETऔर एक्सेल ड्राइवरों को क्वेरी कर सकते हैं , जैसे:
-- Query CSV
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Text;Database=\\Server\Folder\;HDR=Yes;',
'SELECT * FROM MyFile.csv')
-- Query Excel
SELECT *
FROM OPENROWSET('Microsoft.Ace.OLEDB.12.0',
'Excel 8.0;Database=MyFile.xls',
'SELECT * FROM [Sheet1$]')
इसके अलावा, अगर मैं रजिस्ट्री कुंजी को बदलने Formatके तहत HKLM\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Textसे CSVDelimitedकरने के लिए TabDelimitedSQL सर्वर पर, ऊपर सीएसवी क्वेरी सही ढंग से टैब-सीमांकित पाठ फ़ाइल पढ़ा जाएगा, लेकिन यह अब एक अल्प विराम द्वारा सीमांकित पाठ फ़ाइल पढ़ा जाएगा तो मुझे नहीं लगता कि मैं चाहता हूँ इसे ऐसे ही छोड़ देना।
उपयोग करने के लिए प्रयास कर रहा है Format=TabDelimitedमें OPENROWSETया तो काम नहीं करता है
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Text;Database=\\Server\Folder\;HDR=Yes;Format=TabDelimited',
'SELECT * FROM MyFile.txt')
मैंने Textरजिस्ट्री कुंजी को कुंजी Enginesऔर ISAM Formatsडिफॉल्ट दोनों के लिए रजिस्ट्री कुंजी से कॉपी करने के लिए कुछ प्रयास किए हैं TabDelimited, हालांकि यह अभी भी प्रारूप के CSVFormatबजाय फाइलों को पढ़ TabDelimitedरहा है इसलिए मुझे यहां कुछ याद आ रहा है।
क्या टैब बनाने के लिए एक टैब-सीमांकित फ़ाइल को क्वेरी करने का एक तरीका है, एक तालिका बनाने के बिना इसकी सामग्री को देखने के लिए और BULK INSERTयह?
मैं SQL Server 2005 का उपयोग कर रहा हूं
.bakएक सामान्य सीमांकित फ़ाइल एक्सटेंशन नहीं है, और यह त्रुटि मुझे मेरी पहली कोशिश पर दी गई है Could not find installable ISAM, इसलिए मुझे नहीं लगता कि यह काम करेगा।