Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

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]

 

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 22 août 2006 20:25 par ROMELARD Fabrice
Classé sous : ,

Commentaires

ROMELARD Fabrice a dit :

D'ailleurs pour ceux qui connaissent cette problématique des serveurs liés :
- SQL Server 2005 Std Ed.- ORACLE 10G

J'ai cette erreur en ayant exactement les mêmes paramètres que la version 2000 qui fonctionne :

Msg 7302, Level 16, State 1, Line 1
Cannot create an instance of OLE DB provider "ORaOLedb.Oracle" for linked server "LINK_ORACLE_OLEDB".

Je ne trouve pas du tout la source et comment la corriger, si quelqu'un a une idée, je suis preneur.

Romelard fabrice
# août 22, 2006 20:41
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01