通过db_link在Oracle和SQL Server之间进行选择

时间:2017-01-19 09:22:00

标签: sql-server oracle dblink

我有一个问题:

SELECT 
    b."Str" AS "State" into l_state_1C
FROM 
    "_InfoRg9050"@SQLSERVER.UISLAB.COM a
INNER JOIN 
    "EnumTexts"@SQLSERVER.UISLAB.COM b ON a."_Fld9052RRef" = b."_IDRRef"
WHERE 
    a."_Fld10998" = rec.decl_num_1c AND
    a."_Fld9059" = (select MAX(a."_Fld9059") 
                    from "_InfoRg9050"@SQLSERVER.UISLAB.COM a
                    inner join "EnumTexts"@SQLSERVER.UISLAB.COM b on a."_Fld9052RRef" = b."_IDRRef"     
                    where a."_Fld10998" = rec.decl_num_1c)
ORDER BY 
    a."_Fld9059" DESC;
  • 变量decl_num_1c的类型为varchar2(30)
  • 变量l_state_1C的类型为varchar(2014)
  • 专栏" Str"在表格" EnumTexts"类型为varchar(2014)

decl_num_1c有" null"我得到一个错误

  

ORA-02070:数据库SQLSERVER在此上下文中不支持SYS_OP_C2C。

我做错了什么?请帮帮我。

1 个答案:

答案 0 :(得分:0)

为了使用不同的字符集对DB执行查询,Oracle将使用转换函数SYS_OP_C2C来转换数据。该消息表明,在字符集之间存在无法转换的内容。

检查您引用的列中的数据,确保没有任何可能导致问题的内容。

将它固定下来可能会很痛苦。 。 。祝你好运。

相关问题