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
Может кто нибудь знаком с этой проблемой?