Accéder au contenu principal

SQL Server : Problème sur les serveurs liés ORACLE

 Suite à la mise en place d'un serveur lié :

  • SQL Server 2000
  • ORACLE 10 G

Une erreur est apparue, dont voila le texte :

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'OraOLEDB.oracle' reported an error. Access denied.
OLE DB error trace [OLE/DB Provider 'OraOLEDB.oracle'
IUnknown::QueryInterface returned 0x80070005: Access denied.].

Ou en francais :

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'OraOLEDB.oracle' a rencontré une erreur. Accès refusé.
OLE DB error trace [OLE/DB Provider 'OraOLEDB.oracle'
IUnknown::QueryInterface returned 0x80070005: Accès refusé.].

 

Cela vient de paramètres non corrects ou manquant dans la base de registre de la machine hébergeant le serveur SQL.

En effet, lors de l'installation du client ORACLE 10 G, on ne sélectionne que les modules nécessaires (qui sont dans mon cas) :

  • Network Utilities
  • SQL * Plus
  • Les drivers oracles (Oracle Objects OLE, Oracle ODBC Driver, Oracle Provider for OLE DB, Oracle Data Provider for .NET)

 

Une fois cette liste sélectionnée et l'installation effectuée, plusieurs paramètres sont encore à corriger dans la base de registre, dont on retrouve une explication ici :

Les valeurs pour la version 10 G sous SQL Server 2000 sont les suivantes :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI]
"OracleXaLib"="oraclient10.dll"
"OracleSqlLib"="ORASQL10.DLL"
"OracleOciLib"="oci.dll"

 

Ces paramètres sont utilisés par le module MSDTC de SQL Server.

On retrouve donc les DLL correctes, mais il reste encore une partie à modifier qui concerne spécifiquement les serveurs liés SQL Server.

Ainsi, dans la base de registre, juste au dessous de la précédente, dans la clé :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\]

On retrouve une clé Providers, qui sont la liste des providers disponibles dans le cas des serveurs liés. On doit donc contrôlé que la valeur de type DWORD "AllowInProcess" existe et soit à 1.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\OraOLEDB.oracle]
"AllowInProcess"=dword:00000001

 

Si ce n'est pas le cas, il faut la créer.

Cette solution a été trouvée sur le forum suivant :

 

Une fois ceci modifié, on relance le service SQL et on peut alors lancer des requêtes sur le serveur ORACLE telles que :

SELECT
 *
FROM OPENQUERY(LINK_ORACLE_OLEDB, 'SELECT * FROM MaTableOracle')

 

Attention : 

Cette modification semble ne pas fonctionner sous SQL Server 2005, je suis entrain de rechercher la source potentielle.

 

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab