PRB: Phân b? truy v?n tr? v? l?i 7356 v?i MSDAORA

ID c?a bài: 251238 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TRI?U CH?NG

N?u thông tin siêu d? li?u thay đ?i ? th?i gian th?c hi?n, l?i sau x?y ra:
Máy ch?: Msg 7356, c?p 16, bang 1, d?ng 1
OLE DB nhà cung c?p 'msdaora' cung c?p siêu d? li?u không phù h?p cho m?t c?t.
L?i này có th? x?y ra khi b?n s? d?ng phân ph?i truy v?n trong SQL Server tham kh?o m?t cái nh?n n?u b?n t?o n?m bên dư?i b?ng trong Oracle theo các đi?u ki?n sau đây:
  • B?n không ch? đ?nh Nullability trong tuyên b? t?o b?ng. - và -

  • B?n t?o m?t khóa chính b?ng cách s? d?ng các báo cáo thay đ?i b?ng - và -

  • B?n t?o ra m?t cái nh?n bao g?m các khóa chính.

NGUYÊN NHÂN

IDBSchemaRowset::GetRowset cho DBSCHEMA_COLUMNS tr? v? IS_NULLABLE như là đúng s? th?t.

IColumnsInfo::GetColumnInfo trên rowset tr? v? DBCOLUMNFLAGS_ISNULL như là sai.

V? s? các này khác bi?t, phân ph?i truy v?n th?t b?i v?i l?i 7356.

Các nhà cung c?p OLE DB, Msdaora.dll, tr? v? các thông tin sai b?i v? các siêu d? li?u Oracle tr? v? là không chính xác.

GI?I PHÁP

Ch? đ?nh Nullability c?a c?t m?t cách r? ràng trong các báo cáo t?o b?ng.

T?NH TR?NG

Hành vi này là do thi?t k?.

THÔNG TIN THÊM

Các bư?c đ? t?o l?i hành vi

S? d?ng các bư?c sau đ? t?o l?i hành vi:
  1. T?o b?ng ki?m tra b?ng cách s? d?ng m? này:
    CREATE TABLE MYDIST
          (GMI_ID  VARCHAR2(8)
          ,LAST_NAME VARCHAR2(20)
          ,FIRST_NAME VARCHAR2(20) )
    					
  2. Thay đ?i b?ng b?ng cách s? d?ng m? này:
       ALTER TABLE MYDIST
          ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))
    					
  3. Chèn d? li?u vào b?ng b?ng cách s? d?ng m? này:
       INSERT INTO MYDIST VALUES ('test1','row','one')
       INSERT INTO MYDIST VALUES ('test2','row','two')
    					
  4. T?o ra m?t s? d?ng này:
       CREATE VIEW V_MYDIST1 AS
          SELECT GMI_ID FROM MYDIST
    					
  5. T?o m?t m?c máy ch? đư?c liên k?t b?ng cách s? d?ng các t?p tin msdaora.dll và th?c thi truy v?n sau đây:
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1
    					
    Truy v?n tr? v? l?i này:
    Máy ch?: Msg 7356, c?p 16, bang 1, d?ng 1
    OLE DB nhà cung c?p 'msdaora' cung c?p siêu d? li?u không phù h?p cho m?t c?t. Siêu d? li?u thông tin đ? đư?c thay đ?i ? th?i gian th?c hi?n.

Thu?c tính

ID c?a bài: 251238 - L?n xem xét sau cùng: 21 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft SQL Server 7.0 Standard Edition
T? khóa: 
kbmdacnosweep kboracle kbprb kbmt KB251238 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:251238

Cung cấp Phản hồi