2016-05-09 19 views
0

Ich möchte Ergebniszeilen einer Abfrage in eine Excell-Datei schreiben:Export SQL queryresult zu Excell auf Server-Datei ohne Installation von Office

INSERT into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0;Database=C:\temp\testing.xlsx;', 
'SELECT Id,CompanyName FROM [Sheet1$]') 
select Id,CompanyName from tbl_Company 

Aber beim Ausführen dieser Abfrage folgende Fehler tritt auf:

Msg 7302 , Ebene 16, Status 1, Zeile 3 Eine Instanz des OLE DB-Providers "Microsoft.ACE.OLEDB.12.0" für den Verbindungsserver "(null)" kann nicht erstellt werden.

Was vor der Ausführung des Codes erfolgt:

1 - I "2007 Office System Driver: Data Connectivity Components" installiert

2 - für die Verwendung von excell Ausgeführte Konfigurationsskript:

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'Ad Hoc Distributed Queries', 1; 
GO 
RECONFIGURE; 
GO 

3 - Anmeldekonto für SQL Server-Dienst in lokales Konto ändern

4 - Vollzugriffsberechtigung hinzugefügt Excell Dateiordner auf lokales Konto

5 - wieder gestartet SQL Service

Aber mein Problem bleibt

Server: Windows Server 2008

MS Office nicht auf dem Server installiert

SQL Server 2014 64bit SP1

Antwort

0

Ich hatte einen Fehler:

soll ich dieses Konfigurationsskript laufen

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 
GO 

auch Sie sollten sicher sein, 64-Bit-Version von Access Database Engine (wenn Ihr SQL Server 64-Bit) zu installieren.