ORA-22992 cannot use lob locators selected from remote tables

22/12/2010, 12:06 | 1 kategorisinde yayınlandı | Yorum bırakın
Etiketler: ,

LOB tipindeki dataların DB link üzerinden sorgulanması desteklenmediği için , DB link üzerinden LOB tipindeki bir data sorgulanmaya çalışıldığında bu hata alınmaktadır.

Fakat bir şekilde bu tip verilere başka veritabanları üzerinden  erişmemiz gerekiyorsa farklı çözüm yolları uygulayarak bunu başarabiliriz.

Öncelikle      select * from owner.my_table@dblink;

şeklinde çalıştırdığımız sorgu için bu hatayı alıyorsak ve LOB tipindeki datalara erişmeye ihtiyacımız yoksa  , sorgumuzdan LOB tipindeki kolonları çıkararak sorgumuzu revize edip çalıştırabiliriz.

select Col1, Col2  , .. from owner.my_table@dblink;    şeklinde düzenleyebiliriz.

Bunun mümkün olmadığı ve LOB tipindeki verileri görmemiz gerekiyorsa kullanılacak alternatif yöntemlerden biri erişmeye çalıştığımız veritabanı üzerinde view oluşturmak olabilir. Eğer sorgulanacak LOB verimizin tipi CLOB ise işimiz kolay bu durumda CLOB olan kolonlarımızı  to_char() ile char tipine çevirerek view oluşturup , sorgularımı bu view üzerinde yapabiliriz.

Remote database üzerinde view oluşturulur.

create or replace view my_view

as select Col1, Col2 , to_char(CLOB_Col1) , to_char(CLOB_Col2) … from my_table;

View oluşturulduktan sonra ihtiyacımız olan CLOB tipindeki verileri bu view sorgulanarak görülebilir.

select owner.my_view@dblink;

Kullanabileceğimiz alternatif yöntemleri yapmak istediğimiz işlem ve veri tipine göre değiştirebiliriz.  pl/sql ile ile kod yazabilir veya temporary tablolardan yararlanabiliriz.

asktom da bu konu ile alakalı güzel bir thread var.  İlgilenenler buradan erişebilirler.

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5322964030684

Caner Baştürk

Yorum Yapın »

RSS feed for comments on this post. TrackBack URI

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

WordPress.com'da ücretsiz bir web sitesi ya da blog oluşturun.
Entries ve yorumlar feeds.

%d blogcu bunu beğendi: