Bonjour,
je souhaite historiser le niveau de version de mes serveurs et conserver cela dans une table enrichie via openrowset.
Mes serveurs sont soit en 2000 et le 'provider' doit être SQLOLEDB
soit en 2005 et le 'provider' doit être SQLNCLI.
Dans mon script (cf infra), je teste la version et selon cette dernière je fais un openrowset avec soit SQLOLEDB soit SQLNCLI.
Le script fonctionne sans souci en 2005 mais en 2000, je passe bien dans le paragraphe pour le 2000 mais j ai le message :
il suffit que je commentaise l openrowset du 2005 pour que cela fonctionne.Serveur : Msg 7403, Niveau 16, État 1, Ligne 21
Impossible de créer l'entrée de Registre pour le fournisseur OLE DB 'SQLNCLI'.
Trace de l'erreur OLE DB [Non-interface error: Provider not registered B]
Avez vous des pistes à me suggerer?
Merci d avance
Le script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 declare @v varchar(50), @vv char(1) set @v=cast( (select serverproperty('ProductVersion') ) as varchar(50) ) set @vv=substring(@v,1,1) if @vv='8' -- test vesrion ss2000 begin print 'Je suis en 2000' insert into openrowset('SQLOLEDB','10.161.98.6\DCADBA';'test';'test','select * from Suivi.dbo.Serveur') ( S_ver ) values ( @v ) end else -- test vesrion ss2005 begin print 'je suis en 2005' insert into openrowset('SQLNCLI','10.161.98.6\DCADBA';'test';'test','select * from Suivi.dbo.Serveur') ( S_ver ) values ( @v) end
Partager