Bonjour,
je dois écrire un fichier Excel avec sql server 2005,
aprés quelque recherche j'ai donc fait ca pour tester
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=d:\public\testing.xls;',
'SELECT Name, Date FROM [feuil1$]')
SELECT [Name], GETDATE() FROM msdb.dbo.sysjobs
ca marche tres bien sur mon serveur de dev
par contre sur le serveur de prod (je n'ai pas la main sur les droits) ca ne marche pas :
Msg 7415, Niveau 16, État 1, Ligne 1
L'accès d'égal à égal au fournisseur OLE DB 'Microsoft.Jet.OLEDB.4.0' a été refusé. Vous devez accéder à ce fournisseur par le biais d'un serveur lié.
ok pas de probléme je fais un serveur lié :
DECLARE @NomServ NVARCHAR(25)
-- On crée le server
EXEC sp_addlinkedserver
@server ='ExcelSource2',
@srvproduct ='Excel',
@provider ='Microsoft.Jet.OLEDB.4.0',
@datasrc = 'd:\public\testing.xls',
@provstr ='Excel 8.0';
-- On se connecte sur le serveur lié
EXEC sp_addlinkedsrvlogin
@rmtsrvname ='ExcelSource2',
@useself = false,
@locallogin =NULL,
@rmtuser ='test',
@rmtpassword ='test';
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;
Database=ExcelSource2',
'SELECT Name, Date FROM [feuil1$]')
SELECT [Name], GETDATE() FROM msdb.dbo.sysjobs
et ca ne marche pas, je n'arrive pas préciser le serveur lié:
Le fournisseur OLE DB "Microsoft.Jet.OLEDB.4.0" du serveur lié "(null)" a retourné le message "Le moteur de base de données Microsoft Jet n'a pas pu trouver l'objet 'feuil1$'. Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'accès.".
Msg 7350, Niveau 16, État 2, Ligne 23
Impossible d'obtenir les informations de colonne à partir du fournisseur OLE DB "Microsoft.Jet.OLEDB.4.0" du serveur lié "(null)".
Bien sur je suis sur de mon fichier et du nom de l'onglet...
un peu d'aide serait le bien venu la, ca vas faire une journée que je cherche