2016年8月26日 星期五

解決 "ORA-22992: 無法使用自遠端表格選取的 LOB 定位器"

當出現這個錯誤的時候,是因為你跨資料庫連接(Database Link)查詢中的資料表,存在BLOB類型的欄位。

所以一定要注意,所有資料表中,存在BLOB類型欄位:
1.不能用 SELECT * FROM 連接的資料表。
2.不能將 BLOB 類型的欄位出現在腳本中。

如果一定要把 BLOB 類型的欄位導過來,可以先建立臨時資料表再插入本地資料表。
方法如下:在 PL/SQL 中執行,

第一步 - 建臨時資料表:
create global temporary table foo( X BLOB ) on commit delete rows;

第二步 - 插入本地資料表
insert into foo select BlobColumn from remoteTable@dl_remote;

沒有留言:

張貼留言