|
|||||||
Время создания: 26.01.2019 20:55
Текстовые метки: Распределенные запросы,Ad Hoc Distributed Queries
Раздел: !Закладки - SQL Server - VBA_Sql_Server
Запись: xintrea/mytetra_db_adgaver_new/master/base/1548525301an2rnnmu5b/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Импортируйте данные напрямую из файлов Excel с помощью функции Transact-SQL OPENROWSET или OPENDATASOURCE. Такая операция называется распределенный запрос. Перед выполнением распределенного запроса необходимо включить параметр ad hoc distributed queries в конфигурации сервера, как показано в примере ниже. Дополнительные сведения см. в статье ad hoc distributed queries Server Configuration Option (Параметр конфигурации сервера "ad hoc distributed queries"). SQL sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
В приведенном ниже примере кода данные импортируются из листа Excel Data в новую таблицу базы данных с помощью OPENROWSET. SQL USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=D:\Desktop\Data.xlsx', [Data$]);
GO
Ниже приведен тот же пример с OPENDATASOURCE. SQL USE ImportFromExcel;
GO
SELECT * INTO Data_dq
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=D:\Desktop\Data.xlsx;Extended Properties=Excel 12.0')...[Data$];
GO
Чтобы добавить импортированные данные в существующую таблицу, а не создавать новую, используйте синтаксис INSERT INTO ... SELECT ... FROM ... вместо синтаксиса SELECT ... INTO ... FROM ... из предыдущих примеров. Для обращения к данным Excel без импорта используйте стандартный синтаксис SELECT ... FROM .... Дополнительные сведения о распределенных запросах см. в указанных ниже разделах.
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|