Чи можна запитувати файл з обмеженими вкладками від Sql Server Management Studio, щоб переглянути його дані, не зберігаючи їх ніде?
Я знаю, що ви можете BULK INSERTз файлу з обмеженими вкладками, використовуючи щось на кшталт:
BULK INSERT SomeTable
FROM 'MyFile.txt'
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n');
однак для цього потрібно знати стовпці заздалегідь та створити таблицю для зберігання даних.
Я також знаю, що ви можете запитувати деякі інші типи файлів, такі як CSV або Excel, не визначаючи стовпці заздалегідь, використовуючи OPENROWSETдрайвери 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, тому я не думаю, що це буде працювати.