Meilleur auteur de réponses
Probleme avec OPENROWSET

Question
-
Bonjour,
J'ai un petit probleme avec OPENROWSET que j'utilise pour exporter des données de la base vers un fichier excel.
Lorsque je l'utilise de cette façon :
Code SnippetINSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\Temp\test.xls;','SELECT evt_num FROM [Sheet1$]')
SELECT evt_num FROM evt
Tout se passe très bien.
Par contre si j'essaie quelquechose du genre :
Code SnippetDECLARE @sql1 nvarchar(600)
SET @sql1 = 'SELECT evt_num FROM evt'
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\Temp\test.xls;','SELECT evt_num FROM [Sheet1$]')
EXEC(@sql1)
Et bien là ca ne passe plus, il me renvoie l'erreur suivante :
The requested operation could not be performed because OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" does not support the required transaction interface.
Le but étant biensur d'avoir une requete dynamique pour remplir mon fichier excel.
Merci d'avance
a+
Réponses
-
Essayez
Code SnippetDECLARE
@sql1 nvarchar(800)SET
@sql1 = 'SELECT evt_num FROM evt'SET
@sql1 ='
INSERT INTO OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;Database=C:\temp\test.xls;'',''SELECT evt_num FROM [Sheet1$]'')
'
+
@sql1EXEC
(@sql1)
Toutes les réponses
-
Essayez
Code SnippetDECLARE
@sql1 nvarchar(800)SET
@sql1 = 'SELECT evt_num FROM evt'SET
@sql1 ='
INSERT INTO OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;Database=C:\temp\test.xls;'',''SELECT evt_num FROM [Sheet1$]'')
'
+
@sql1EXEC
(@sql1) -
-
-
stp voila mon code
use gestion_personnel DECLARE @sql1 nvarchar(800) SET @sql1 = ' select connexion.login from gestion_personnel.dbo.connexion ' SET @sql1 = ' INSERT INTO OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;Database=C:\temp\test.xls;'',''select connexion.login FROM [Sheet1$]'') ' + @sql1 EXEC(@sql1)
mais toujours il me genere l'erreur:OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Unspecified error".
Msg 7303, Level 16, State 1, Line 2
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
-
stp voila mon code
use gestion_personnel DECLARE @sql1 nvarchar(800) SET @sql1 = ' select connexion.login from gestion_personnel.dbo.connexion ' SET @sql1 = ' INSERT INTO OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;Database=C:\temp\test.xls;'',''select connexion.login FROM [Sheet1$]'') ' + @sql1 EXEC(@sql1)
mais toujours il me genere l'erreur:OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Unspecified error".
Msg 7303, Level 16, State 1, Line 2
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".