Sql Server Management Studioからタブ区切りファイルをクエリして、どこにも保存せずにデータを表示することは可能ですか?
私はあなたがBULK INSERT
次のようなものを使用してタブ区切りファイルからできることを知っています:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
ただし、事前に列を把握し、データを保持するテーブルを作成する必要があります。
またOPENROWSET
、次のようなExcelドライバーを使用して事前に列を定義せずに、CSVやExcelなどの他のファイルタイプを照会できることも知っています。
-- 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
のTabDelimited
SQL Server上で、上記のCSVクエリは正しく、私は私が欲しいとは思わないので、しかし、それはもはや、カンマ区切りのテキストファイルを読み込みます、タブ区切りのテキストファイルを読み込みませんそのままにしておきます。
で使用しよう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
ため、これは機能しないと思います。