Bonjour,
Après pas mal de péripéties, j'ai enfin réussi à faire un serveur lié sous Excel.
Ce serveur lié contient des tables de référence saisies par des utilisateurs, dont je me sers pour mettre à jour des intitulés. Tout fonctionne bien mais à l'expresse condition que j'éxécute SSMS en tant qu'Administrateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 EXEC sp_addlinkedserver @server = N'XL_Corresp' , @srvproduct = N'Excel 12.0 Macro' , @provider = N'Microsoft.ACE.OLEDB.12.0' , @datasrc = N'D:\Clients\XL_Corresp.xlsm' , @provstr = N'EXCEL 12.0;IMEX=1;HDR=YES'; GO
Mon environnement (PC portable) :
Windows 8.1
SQL Server 2012 SP1 (SSMS) + instances 2008 SP3, 2008R2 SP2
J'ai du changer de version d'Office pour passer en 64 bits et réussir à installer AccessDatabaseEngine version 2010 / x64.
J'ai également défini le contrôle total pour le dossier C:\Windows\Temp pour les comptes suivants (exemple sur une instance, effectué sur toutes):
- SQLServerMSSQLUser$PC1$BISHOP
- SQLServerSQLAgentUser$PC1$BISHOP
N'étant pas franchement dba, ces deux points ont été mis en place après moult recherches sur le web.
1) Je suis administrateur de mon poste, je n'ai pas d'UAC activé.
2) C'est malmais je suis sysadmin de toutes les instances.
3) Donc en toute logique j'ai tous les droits, sauf que si je lance SSMS normalement j'obtiens systématiquement le - très clair - message suivant :
"Impossible d'initialiser l'objet de la source de données du fournisseur OLE DB "Microsoft.ACE.OLEDB.12.0" du serveur lié "XL_Corresp""
J'ai bien compris qu'être sysadmin ne me donne pas forcément les droits admin Windows, mais de mon point de vue pour ce cas précis tout y est...
Une bonne âme pourrait-elle m'expliquer la cause de ce phénomène ?
Je peux modifier les propriétés de mon raccourci, mais par principe (je pense à des déploiements ponctuels sur des serveurs de prod), je voudrais pouvoir si possible arriver au même fonctionnel sans toutes ces subtilités.
J'ai passé pas mal de temps et trouvé un paquet de lien, mais si quelqu'un connaît également une bonne source - si possible francophone - sur ce thème je suis preneur.
Question subsidiaire : en cas de gros volumes je sais que ce genre de configuration est catastrophique d'un point de vue performances. A part l'import des données via SSIS ou autre dans des tables de la base SQL, existe-t-il d'autres moyens (autre provider ?) plus rapides ?
Bonne journée
Partager