Question

J'exporte exceller avec succès avec l'énoncé suivant:

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\template.xls;', 
'SELECT * FROM [SheetName$]') 
select * from myTable

Y at-il moyen standard pour utiliser ce modèle spécifiant un nouveau nom pour la feuille Excel afin que le modèle ne fait jamais écrit ou dois-je trouver un travail autour?

Quelle est la meilleure façon de le faire dans l'expérience des gens?

Était-ce utile?

La solution

Il faudrait utiliser SQL dynamique. OPENROWSET etc ne permet littéraux en tant que paramètres.

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
')
  

Souvenez-vous: le chemin est relatif à l'endroit où est en cours d'exécution SQL Server

Autres conseils

Pourriez-vous pas faire une copie de votre modèle d'abord, puis passez le nom de fichier de la copie dans OPENROWSET?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top