PRB : Distributed requêtes retour erreur 7356 avec MSDAORA

Traductions disponibles Traductions disponibles
Numéro d'article: 251238 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Si les informations de métadonnées changent au moment de l'exécution, le message d'erreur suivant s'affiche :
Serveur: Msg 7356, niveau 16, état 1, ligne 1
Fournisseur OLE DB 'MSDAORA' a fourni une métadonnée incohérente pour une colonne.
Cette erreur peut se produire lorsque vous utilisez des requêtes distribuées dans SQL Server qui référence une vue si vous créez la table sous-jacente dans Oracle dans les conditions suivantes :
  • Vous ne spécifiez pas de possibilité de valeur NULL dans l'instruction CREATE TABLE. - et -

  • Vous créez une clé primaire à l'aide de l'instruction ALTER TABLE - et -

  • Vous créez une vue qui inclut la clé primaire.

Cause

IDBSchemaRowset::GetRowset pour DBSCHEMA_COLUMNS retourne IS_NULLABLE comme TRUE.

IColumnsInfo::GetColumnInfo sur l'ensemble de lignes retourne DBCOLUMNFLAGS_ISNULL comme faux.

En raison de ces divergences, les requêtes distribuées échouent avec l'erreur 7356.

Le fournisseur OLE DB, msdaora.dll, retourne les informations incorrectes, car les métadonnées Oracle renvoie sont incorrecte.

Résolution

Spécifier explicitement la possibilité de valeur NULL de la colonne lors de l'instruction CREATE TABLE.

Statut

Ce comportement est voulu par la conception même du produit.

Plus d'informations

Procédure pour reproduire le problème

Suivez ces étapes pour reproduire le problème :
  1. Créer la table de test à l'aide de ce code :
    CREATE TABLE MYDIST
          (GMI_ID  VARCHAR2(8)
          ,LAST_NAME VARCHAR2(20)
          ,FIRST_NAME VARCHAR2(20) )
    					
  2. Modifier la table à l'aide de ce code :
       ALTER TABLE MYDIST
          ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))
    					
  3. Insérer des données dans la table à l'aide de ce code :
       INSERT INTO MYDIST VALUES ('test1','row','one')
       INSERT INTO MYDIST VALUES ('test2','row','two')
    					
  4. Créer un affichage à l'aide de cette :
       CREATE VIEW V_MYDIST1 AS
          SELECT GMI_ID FROM MYDIST
    					
  5. Créez une entrée de serveur lié à l'aide du fichier msdaora.dll et exécutez la requête suivante :
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1
    					
    la requête retourne cette erreur :
    Serveur: Msg 7356, niveau 16, état 1, ligne 1
    Fournisseur OLE DB 'MSDAORA' a fourni une métadonnée incohérente pour une colonne. Informations de métadonnées a été changées au moment de l'exécution.

Propriétés

Numéro d'article: 251238 - Dernière mise à jour: mercredi 14 juillet 2004 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft SQL Server 7.0 Standard
  • Microsoft SQL Server 7.0 Service Pack 1
Mots-clés : 
kbmt kbmdacnosweep kboracle kbprb KB251238 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 251238
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com