OPENROWSET не может инициализировать OLEDB для файлов XLSX, сгенерированных EPPlus - PullRequest
0 голосов
/ 29 апреля 2019

Как только я экспортирую CSV-файл с помощью EPPlus dll (в оболочке модуля PowerShell PSExport), сгенерированный XLSX-файл отлично работает в Excel;но при попытке импортировать его в SQL возникает следующая проблема:

Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

Эта проблема решается, как только я открываю файл в Excel и сохраняю.

Я пытался редактироватьOPENROWSET строка с 'HDR = YES; IMEX = 1' и всеми вариациями;Я попытался обновить версию ACE.OLEDB до 16;Я попробовал простой файл XLSX

Используемая мной команда OPENROWSET:

select * from openrowset ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=E:\SQLJobs\Incidents.xlsx', 'select [Incr_nr] from [Sheet1$]')

Чтобы создать файл XLSX:

Import-Module PSExcel
$CSV = import-csv C:\test.csv -delimiter ";"    
$CSV | Export-XLSX -path "A:\Scripts\TopDesk\dwh_backroom_Incident_Export.xlsx" -WorksheetName Sheet1 -ReplaceSheet -Debug

Где $ CSV является импортированным-csv файл в powershell

...