Apakah mungkin untuk meminta file yang dibatasi tab dari Sql Server Management Studio untuk melihat datanya tanpa menyimpannya di mana saja?
Saya tahu Anda dapat BULK INSERTdari file tab-dibatasi menggunakan sesuatu seperti:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
namun itu mengharuskan Anda mengetahui kolom sebelumnya dan membuat tabel untuk menyimpan data.
Saya juga tahu Anda dapat meminta beberapa tipe file lain seperti CSV atau Excel tanpa mendefinisikan kolom sebelumnya menggunakan OPENROWSETdan driver Excel, seperti:
-- 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$]')
Juga, jika saya mengubah kunci registri di Formatbawah HKLM\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Textdari CSVDelimitedke TabDelimitedpada SQL Server, permintaan CSV di atas akan dengan benar membaca file teks yang dibatasi tab, namun itu tidak akan lagi membaca file teks yang dibatasi koma sehingga saya tidak berpikir saya ingin meninggalkannya seperti itu.
Mencoba menggunakan Format=TabDelimiteddi OPENROWSETtidak berhasil juga
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Text;Database=\\Server\Folder\;HDR=Yes;Format=TabDelimited',
'SELECT * FROM MyFile.txt')
Saya telah melakukan beberapa upaya untuk menyalin Textkunci registri dari kedua Enginesdan ISAM Formatskunci untuk sesuatu yang kustom untuk default TabDelimited, namun masih membaca file dengan CSVFormatbukan TabDelimitedformat jadi saya harus kehilangan sesuatu di sini.
Apakah ada cara untuk meminta file dibatasi-tab untuk melihat isinya tanpa harus membuat tabel dan BULK INSERTitu?
Saya menggunakan SQL Server 2005
.bakyang bukan ekstensi file terbatas normal, dan kesalahan itu memberi saya pada percobaan pertama saya adalah Could not find installable ISAM, jadi saya tidak berpikir ini akan berhasil.