dblink連線資料庫clob欄位的異常處理

2022-04-06 09:32:42 字數 1181 閱讀 6102

dblink連線資料庫clob欄位的異常處理

dblink中,對於clob欄位的處理需要相對比較特殊些。

不做任務處理,例如執行「select mode_code,transform_change_content from prod_interruption_mode@link2server516 where rownum<=10」,其中「transform_change_content」為clob欄位,則會報「ora-22992: cannot use lob locators selected from remote tables」的錯誤。  www.2cto.com  

採用臨時表方式實現對lob欄位的選取:

建立乙個臨時表「create global temporary table tmp_tbl_mode(

mode_code varchar2(16),

transform_change_content clob

)on commit delete rows;」,

再執行「insert into tmp_tbl_mode select mode_code,transform_change_content from prod_interruption_mode@link2server516;」後,臨時表中就將對應的資料選取過來了,最後再通過執行「select * from tmp_tbl_mode;」,即可檢視到結構,驗證ok

採用將clob轉換為varchar的方式實現:

首先需要用到函式「dbms_lob.substr( clob_column, for_how_many_bytes, from_which_byte );」

通過建立如下檢視:  www.2cto.com  

create or replace view dblink_v_mode_tet as

select mode_code, dbms_lob.substr(transform_change_content,4000,1) transform_change_content

from prod_interruption_mode

where rownum <= 10;

通過執行「select mode_code,transform_change_content from dblink_v_mode_tet@link2server516;」,即可實現檢視到結果,驗證ok  

作者 zmyxmjz

連線資料庫

2 documents 目錄就是我們可以用來寫入並儲存檔案得地方,一般可通過 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes nsstring documentsdi...

連線資料庫

1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...

連線資料庫

public void connection 以上是連線資料庫的乙個方法,以及從資料庫中取到資料後存放在table中.executenonquery 執行sql後,返回乙個整形變數,如果sql是對資料庫記錄進行操作,那麼返回影響的記錄條數。executescalar 執行sql 如果sql語句是se...