PRB: Distributed vratky chyba dotazy 7356 s MSDAORA

Překlady článku Překlady článku
ID článku: 251238 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Změní informace metadat v době spuštění, dojde k následující chybě:
Server: Zpráva 7356, úroveň 16 stav 1, řádek 1
Zprostředkovatel OLE DB 'MSDAORA dodávané nekonzistentní metadat pro sloupec.
K této chybě může dojít při použití distribuovaných dotazů SQL Server, které odkazují zobrazení, pokud vytvoříte podkladové tabulky v Oracle za následujících podmínek:
  • V příkazu CREATE TABLE nezadáte Nullability. - a -

  • Vytvořit primární klíč pomocí příkazu ALTER TABLE - a -

  • Vytvořit zobrazení obsahující PRIMARY KEY.

Příčina

IDBSchemaRowset::GetRowset DBSCHEMA_COLUMNS vrátí IS_NULLABLE jako PRAVDA.

IColumnsInfo::GetColumnInfo se sadou řádků vrátí DBCOLUMNFLAGS_ISNULL jako NEPRAVDA.

Z těchto nesrovnalostí distribuovaných dotazy nezdaří s chybou 7356.

Zprostředkovatel OLE DB msdaora.dll, vrátí nesprávné informace, protože metadata vrátí Oracle je nesprávná.

Řešení

Během příkazu CREATE TABLE explicitně určit Nullability sloupce.

Prohlášení

Toto chování je záměrné.

Další informace

Kroky pro reprodukci chování

Použijte tyto kroky pro reprodukci chování:
  1. Vytvořit tabulku test pomocí tohoto kódu:
    CREATE TABLE MYDIST
          (GMI_ID  VARCHAR2(8)
          ,LAST_NAME VARCHAR2(20)
          ,FIRST_NAME VARCHAR2(20) )
    					
  2. Alter table pomocí tohoto kódu:
       ALTER TABLE MYDIST
          ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))
    					
  3. Vložení dat do tabulky pomocí tohoto kódu:
       INSERT INTO MYDIST VALUES ('test1','row','one')
       INSERT INTO MYDIST VALUES ('test2','row','two')
    					
  4. Vytvořit pomocí tohoto zobrazení:
       CREATE VIEW V_MYDIST1 AS
          SELECT GMI_ID FROM MYDIST
    					
  5. Vytvořit položku propojený server pomocí souboru msdaora.dll a spusťte následující dotaz:
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1
    					
    dotaz vrátí tuto chybu:
    Server: Zpráva 7356, úroveň 16 stav 1, řádek 1
    Zprostředkovatel OLE DB 'MSDAORA dodávané nekonzistentní metadat pro sloupec. Byla změněna metadata informace v době provádění.

Vlastnosti

ID článku: 251238 - Poslední aktualizace: 14. července 2004 - Revize: 3.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 7.0 Service Pack 1
Klíčová slova: 
kbmt kbmdacnosweep kboracle kbprb KB251238 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:251238

Dejte nám zpětnou vazbu

 

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