Có thể truy vấn một tệp được phân định bằng tab từ Sql Server Management Studio để xem dữ liệu của nó mà không lưu nó ở bất cứ đâu không?
Tôi biết bạn có thể BULK INSERTtừ một tệp được phân định bằng tab bằng cách sử dụng một cái gì đó như:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
tuy nhiên, điều đó đòi hỏi bạn phải biết trước các cột và tạo một bảng để chứa dữ liệu.
Tôi cũng biết bạn có thể truy vấn một số loại tệp khác như CSV hoặc Excel mà không cần xác định trước các cột bằng cách sử dụng OPENROWSETvà trình điều khiển Excel, chẳng hạn như:
-- 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$]')
Ngoài ra, nếu tôi thay đổi các khóa registry Formatdưới HKLM\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Texttừ CSVDelimitedđể TabDelimitedtrên SQL Server, truy vấn CSV trên sẽ đọc một cách chính xác một file văn bản tab-delimited, tuy nhiên nó sẽ không còn đọc một file văn bản dấu phẩy phân cách vì vậy tôi không nghĩ rằng tôi muốn để nó như thế
Cố gắng sử dụng Format=TabDelimitedtrong OPENROWSETcũng không hoạt động
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Text;Database=\\Server\Folder\;HDR=Yes;Format=TabDelimited',
'SELECT * FROM MyFile.txt')
Tôi đã thực hiện một số nỗ lực để sao chép các Textkhóa đăng ký từ cả khóa Enginesvà ISAM Formatskhóa sang thứ gì đó tùy chỉnh mặc định TabDelimited, tuy nhiên nó vẫn đang đọc các tệp CSVFormatthay vì TabDelimitedđịnh dạng nên tôi phải thiếu một cái gì đó ở đây.
Có cách nào để truy vấn một tệp được phân định bằng tab để xem nội dung của nó mà không phải tạo bảng và BULK INSERTnó không?
Tôi đang sử dụng SQL Server 2005
.bakkhông phải là phần mở rộng tệp được phân tách thông thường và lỗi mà tôi đã gặp trong lần thử đầu tiên là Could not find installable ISAMdo đó tôi không nghĩ rằng nó sẽ hoạt động.