PRB: Didistribusikan kembali permintaan kesalahan 7356 dengan MSDAORA

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 251238 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Jika perubahan informasi metadata pada waktu eksekusi, kesalahan berikut terjadi:
Server: Msg 7356, tingkat 16, negara bagian 1, baris 1
Penyedia OLE DB 'MSDAORA' disediakan tidak konsisten metadata untuk kolom.
Kesalahan ini dapat terjadi ketika Anda menggunakan didistribusikan query di SQL Server yang referensi lihat jika Anda membuat tabel yang mendasari dalam Oracle di bawah kondisi berikut:
  • Anda tidak menentukan Nullability dalam pernyataan CREATE TABLE. -dan-

  • Anda membuat Primary Key menggunakan pernyataan ALTER TABLE -dan-

  • Anda membuat tampilan yang mencakup PRIMARY KEY.

PENYEBAB

IDBSchemaRowset::GetRowset untuk DBSCHEMA_COLUMNS kembali IS_NULLABLE sebagai benar.

IColumnsInfo::GetColumnInfo pada rowset kembali DBCOLUMNFLAGS_ISNULL sebagai palsu.

Karena dari ini perbedaan, didistribusikan permintaan gagal dengan kesalahan 7356.

Penyedia OLE DB, Msdaora.dll, kembali informasi yang salah karena metadata yang Oracle kembali salah.

PEMECAHAN MASALAH

Menentukan Nullability kolom secara eksplisit selama pernyataan CREATE TABLE.

STATUS

Perilaku ini sesuai rancangannya.

INFORMASI LEBIH LANJUT

Langkah-langkah untuk mereproduksi perilaku

Gunakan langkah-langkah untuk mereproduksi perilaku:
  1. Membuat tabel tes yang menggunakan kode ini:
    CREATE TABLE MYDIST
          (GMI_ID  VARCHAR2(8)
          ,LAST_NAME VARCHAR2(20)
          ,FIRST_NAME VARCHAR2(20) )
    					
  2. Mengubah tabel menggunakan kode ini:
       ALTER TABLE MYDIST
          ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))
    					
  3. Memasukkan data ke dalam tabel menggunakan kode ini:
       INSERT INTO MYDIST VALUES ('test1','row','one')
       INSERT INTO MYDIST VALUES ('test2','row','two')
    					
  4. Membuat tampilan menggunakan ini:
       CREATE VIEW V_MYDIST1 AS
          SELECT GMI_ID FROM MYDIST
    					
  5. Membuat entri terkait server menggunakan msdaora.dll file dan mengeksekusi query berikut:
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1
    					
    Query kembali kesalahan ini:
    Server: Msg 7356, tingkat 16, negara bagian 1, baris 1
    Penyedia OLE DB 'MSDAORA' disediakan tidak konsisten metadata untuk kolom. Informasi metadata berubah pada saat pelaksanaan.

Properti

ID Artikel: 251238 - Kajian Terakhir: 21 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 7.0 Standard Edition
Kata kunci: 
kbmdacnosweep kboracle kbprb kbmt KB251238 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:251238

Berikan Masukan

 

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