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...