SQL Server Agent JOB ошибка: Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server

Есть процедура, которая пересылает данные из базы MSSQL в файл EXCEL размещенный в облаке OneDrive. подключение по net use O: \d.docs.live.net@SSL\XXXXXXXXXXXX /user:[email protected] zzzz Процедура выполняется без ошибок. Данные пересылаются. Если выполнять JOB c этой процедурой то есть ошибка Cannot initialize the datвведите сюда описание изображенияa source object введите сюда описание изображенияof OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)". если изменить процедуру и подключиться к локальному файлу - все нормально. Job выполняется без ошибок. SQL Server Agent запускается с системной учетной записью. Если подключать с другой учетной записью NT Service\SQLSERVERAGENT то и с локальным файлом не работает. Сетевой диск OneDrive подключается так:net use O: \d.docs.live.net@SSL\XXXXXX /user:[email protected] zzzzz Часть скрипта процедуры: EXEC sp_configure N'show advanced options', 1
RECONFIGURE WITH OVERRIDE EXEC sp_configure N'Ole Automation Procedures', 1 RECONFIGURE WITH OVERRIDE EXEC sp_configure N'xp_cmdshell', 1 RECONFIGURE WITH OVERRIDE EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

SELECT @net                    = N'W'
SELECT @net                    = @net + N':' 
SELECT @ssl                    = N'\\d.docs.live.net@SSL\'
SELECT @uid                    = N'XXXXXXXXXXXX' 
SELECT @user_onedrive          = N'[email protected]' 
SELECT @user_onedrive_password = N'zzzzzzz'
SELECT @psd                    = N'NET USE ' + @net + N' ' + @SSL + @uid + N' /user:' + 
@user_onedrive + N' ' + @user_onedrive_password 
Exec @success = master.dbo.xp_cmdshell @psd, NO_OUTPUT
SELECT @dir_FormData   = N'FormData'       
SELECT @file_Dropdowns = N'Dropdowns.xlsx'
SELECT @dir_FormData   = @NET + N'\' + @dir_FormData   + N'\' + @file_Dropdowns    
Exec @success = master.dbo.xp_cmdshell @psd, NO_OUTPUT
SELECT @SheetName = N'Dropdowns$'
SELECT @insfrom   = N'SELECT * FROM dbo.Table_my'
SET @exec_line =  N' INSERT INTO OPENROWSET'                        +            
              N'(''Microsoft.ACE.OLEDB.12.0'','                     +
              N'''Excel 12.0;Database='+ @dir_FormData +N''''+ N',' +
              N'''SELECT* FROM ['+ @SheetName +N']'') '             + 
              @insfrom
EXECUTE @success = sp_executesql @exec_line

Может кто нибудь знаком с этой проблемой?


Ответы (0 шт):