Мне нужно прочитать данные из файлов Excel, чтобы сделать сотни обновлений для SQL Server.Сервер по умолчанию настроен на запрет этих запросов, но я могу изменить этот параметр.Я читал о рисках, связанных с разрешением этих запросов, но мне было интересно, есть ли проблемы безопасности, проблемы с производительностью или другие риски, о которых я не знаю, если я включу их на время одной команды.
Короче говоря, разумно ли делать следующее?
exec sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure
begin try
select * from OPENROWSET(
'Microsoft.ACE.OLEDB.12.0'
,'Excel 12.0;Database=C:\Temp\Test.xlsx;'
,'SELECT * FROM [Sheet1$]') as xl
end try
begin catch
print 'Error occurred'
end catch
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
Я бы, конечно, обернул это в хранимую процедуру и использовал бы ее много раз для разных исходных и целевых таблиц.