MyTetra Share
Делитесь знаниями!
Распределенные запросы
Время создания: 26.01.2019 20:55
Текстовые метки: Распределенные запросы,Ad Hoc Distributed Queries
Раздел: !Закладки - SQL Server - VBA_Sql_Server

Распределенные запросы

Импортируйте данные напрямую из файлов 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 ....

Дополнительные сведения о распределенных запросах см. в указанных ниже разделах.

Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования