É possível consultar um arquivo delimitado por tabulações no Sql Server Management Studio para visualizar seus dados sem salvá-los em qualquer lugar?
Eu sei que você pode BULK INSERTde um arquivo delimitado por tabulações usando algo como:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
no entanto, isso exige que você conheça as colunas com antecedência e crie uma tabela para armazenar os dados.
Também sei que você pode consultar outros tipos de arquivos, como CSV ou Excel, sem definir as colunas com antecedência, usando OPENROWSETos drivers do Excel, como:
-- 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$]')
Além disso, se eu mudar a chave de registro Formatsob HKLM\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Texta partir CSVDelimitedde TabDelimitedsobre o SQL Server, a consulta CSV acima irá ler corretamente um arquivo de texto delimitado por tabulação, no entanto, ele não irá ler um arquivo de texto separado por vírgulas para que eu não acho que eu quero para deixar assim.
Tentar usar Format=TabDelimitedno OPENROWSETtambém não funciona
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Text;Database=\\Server\Folder\;HDR=Yes;Format=TabDelimited',
'SELECT * FROM MyFile.txt')
Fiz algumas tentativas para copiar as Textchaves de registro de ambos os Enginese ISAM Formatschaves para algo personalizado que o padrão é TabDelimited, no entanto, é ainda leitura de arquivos com CSVFormatem vez de TabDelimitedformato de modo que deve estar faltando alguma coisa aqui.
Existe uma maneira de consultar um arquivo delimitado por tabulação para exibir seu conteúdo sem ter que criar uma tabela BULK INSERT?
Estou usando o SQL Server 2005
.baknão é uma extensão delimitada normal e o erro que ele me deu na primeira tentativa é Could not find installable ISAM, portanto, não acho que isso funcione.