问题描述
嗨,汤姆,
我正在尝试通过dblink从Oracle更新MS SQL Server表。在具有网关HS配置的Oracle上使用11g,我可以从Oracle查询SQL Server表,但无法更新,如下所示是详细信息错误。
从第3行开始的错误命令-
在SQL Server表 “Paymenth” 中,具有NUM_0和UPDTICK_0列。NUM_0是NVARCHAR,其中UPDTICK_0是整数。我可以在where条件下使用UPDTICK_0,并且可以继续进行更新,但是不能在where条件下使用NVARCHAR并获得上述错误。请参阅下面的示例,其中包含where子句中的整数列条件。
请建议在从Oracle更新MS SQL Server表时使用where子句中的NVARCHAR。
我正在尝试通过dblink从Oracle更新MS SQL Server表。在具有网关HS配置的Oracle上使用11g,我可以从Oracle查询SQL Server表,但无法更新,如下所示是详细信息错误。
从第3行开始的错误命令-
UPDATE FTEST.PAYMENTH@DBLINK
SET "APPSTATUS_0"=1
WHERE "NUM_0"= 'PPFT10202000001'
Error at Command Line : 5 Column : 17
Error report -
SQL Error: ORA-02070: database DBLINK does not support some function in this context
02070. 00000 - "database %s%s does not support %s in this context"
*Cause: The remote database does not support the named capability in
the context in which it is used.
*Action: Simplify the SQL statement.在SQL Server表 “Paymenth” 中,具有NUM_0和UPDTICK_0列。NUM_0是NVARCHAR,其中UPDTICK_0是整数。我可以在where条件下使用UPDTICK_0,并且可以继续进行更新,但是不能在where条件下使用NVARCHAR并获得上述错误。请参阅下面的示例,其中包含where子句中的整数列条件。
UPDATE FTEST.PAYMENTH@DBLINK SET "APPSTATUS_0"=2 WHERE "UPDTICK_0"=9 85 rows updated.
请建议在从Oracle更新MS SQL Server表时使用where子句中的NVARCHAR。
专家解答
有一个与这个问题相关的已知错误。请参阅MOS注释457473.1。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




