É possÃvel consultar um arquivo delimitado por tabulações do Sql Server Management Studio para visualizar seus dados sem salvá-los em nenhum lugar?
Eu sei que você pode BULK INSERT
a partir de um arquivo delimitado por tabulações usando algo como:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
no entanto, isso requer que você conheça as colunas com antecedência e crie uma tabela para armazenar os dados.
Também sei que você pode consultar alguns outros tipos de arquivo, como CSV ou Excel, sem definir as colunas com antecedência usando OPENROWSET
e os 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$]')
Format
Além disso, se eu alterar a chave de registro HKLM\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Text
de CSVDelimited
para TabDelimited
no SQL Server, a consulta CSV acima lerá corretamente um arquivo de texto delimitado por tabulações; deixar assim.
Tentar usar Format=TabDelimited
no OPENROWSET
também não funciona
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Text;Database=\\Server\Folder\;HDR=Yes;Format=TabDelimited',
'SELECT * FROM MyFile.txt')
Eu fiz algumas tentativas de copiar as Text
chaves de registro das chaves Engines
e ISAM Formats
para algo personalizado cujo padrão é TabDelimited
, no entanto, ele ainda está lendo arquivos em CSVFormat
vez de TabDelimited
formatar, então devo estar perdendo alguma coisa aqui.
Existe uma maneira de consultar um arquivo delimitado por tabulações para visualizar seu conteúdo sem precisar criar uma tabela e BULK INSERT
fazer isso?
Estou usando o SQL Server 2005
Você deve criar um arquivo schema.ini contendo o delimitador no mesmo diretório do arquivo de texto que está abrindo. Essa é a única maneira de substituir os valores do Registro por arquivo. Consulte a documentação do formato de arquivo no MSDN . Exemplo:
Em C:\Text\schema.ini:
Se essa atividade precisar ser repetida com frequência, sugiro um script para criar schema.ini. Vários arquivos podem ser referenciados no mesmo schema.ini ou um schema.ini separado pode ser incluÃdo com cada arquivo de texto em seu próprio diretório.
Pode ser SSMS: Como importar (copiar/colar) dados do Excel pode ajudar (se você não quiser usar
OPENROWSET
ou não tiver permissões para isso).