Чи можна запитувати файл з обмеженими вкладками від 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
, тому я не думаю, що це буде працювати.