2009-06-25 10 views
1

我在DatabaseA的功能,我想在DatabaseB訪問,所以我創建了DatabaseB一個數據庫鏈接,並開始訪問功能訪問在不同集數據庫鏈接的函數甲骨文

SELECT [email protected] ('A0484') FROM DUAL; 

做這導致了隨後的錯誤

ERROR at line 1: 
ORA-12703: this character set conversion is not supported 
ORA-06512: at line 1 

在挖我找到了數據庫的信息下面

DatabaseA: 
    Version-8i 
    Charset-US7ASCII 

DatabaseB: 
    Version-10g 
    Charset-AL32UTF8 

通過DBLink直接訪問DatabaseB中DatabaseA的任何表中的數據,它只是返回此錯誤的函數。

的功能有類似下面

CREATE OR REPLACE FUNCTION TestFunc(p_Number IN VARCHAR2) RETURN VARCHAR2 IS 
BEGIN 
    RETURN 'Some Data'; 
END; 

任何想法可能會導致轉換錯誤,什麼可以做,以避免錯誤,因爲這些表直接訪問似乎做工精細的簽名。

+0

數據庫A的客戶端上的NLS_LANG的值是什麼? – diederikh 2009-06-25 10:49:07

回答

2

這是一個已知的Oracle錯誤 - 如果您有權訪問Metalink,請參閱註釋237593.1。推薦的解決方案是,當您的9i之前的客戶端連接到10g數據庫時,請使用UTF8字符集(請記住8i數據庫在這種情況下是10g數據庫的「客戶端」)。或者有一個8i補丁可以工作。