SQL Server Export nach Excel mit OPENROWSET
-
05-09-2019 - |
Frage
ich erfolgreich bin Export mit der folgenden Aussage zu übertreffen:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\template.xls;',
'SELECT * FROM [SheetName$]')
select * from myTable
Gibt es eine standardisierte Möglichkeit diese Vorlage zu verwenden, um einen neuen Namen für die Excel-Tabelle spezifiziert, so dass die Vorlage nie geschrieben wird, oder muß mich mit einiger Behelfslösung kommen?
Was ist der beste Weg, dies in Menschen Erfahrung zu tun?
Lösung
Sie müßten dynamische SQL verwenden. OPENROWSET
etc erlaubt nur Literale als Parameter.
DECLARE @myfile varchar(800)
SET @myfile = 'C:\template.xls'
EXEC ('
insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
''Excel 8.0;Database=' + @myfile + ';'',
''SELECT * FROM [SheetName$]'')
select * from myTable
')
Denken Sie daran: Der Pfad ist relativ zu dem SQL Server ausgeführt wird
Andere Tipps
Könnten Sie nicht eine Kopie der Vorlage zuerst machen, dann die Dateinamen in OPENROWSET Kopie übergeben?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow