来自oracle的sql更新表mysql调用,尽管dg4odbc不起作用

来自oracle的sql更新表mysql调用,尽管dg4odbc不起作用,mysql,database,oracle,Mysql,Database,Oracle,我使用hs、dg4odbc从oracle查询mysql。从oracle查询选择mysql是可以的,但我的更新sql不工作 Mysql数据库版本5.6.23、oracle数据库版本12c和我的更新sql为: BEGIN UPDATE "user"@mysql SET "avatar" = 'http://...abc.png' WHERE "username" = 'abc'; COMMIT; END; 错误ORA-02070:在此上下文中,数据库xxx不支持SYS_OP_C2C 或O

我使用hs、dg4odbc从oracle查询mysql。从oracle查询选择mysql是可以的,但我的更新sql不工作

Mysql数据库版本5.6.23、oracle数据库版本12c和我的更新sql为:

BEGIN
UPDATE "user"@mysql 
   SET "avatar" = 'http://...abc.png'
 WHERE "username" = 'abc';
COMMIT;
END;
错误ORA-02070:在此上下文中,数据库xxx不支持SYS_OP_C2C 或ORA-02070:数据库xxx在此上下文中不支持某些功能

我记得我使用的方法更新工作得很好,但现在不工作


请帮助我使用dg4odbc从oracle调用update mysql,我找到了问题的答案

DECLARE
  c INTEGER;
  nr INTEGER;
BEGIN
  c := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@mysql;
  DBMS_HS_PASSTHROUGH.PARSE@mysql(c,
        'UPDATE user SET avatar=? WHERE username=?');
  DBMS_HS_PASSTHROUGH.BIND_VARIABLE@mysql(c,1,'http://...abc.png');
  DBMS_HS_PASSTHROUGH.BIND_VARIABLE@mysql(c,1,'abc');
  nr:=DBMS_HS_PASSTHROUGH.EXECUTE_NON_QUERY@mysql(c);
  DBMS_OUTPUT.PUT_LINE(nr||' rows updated');
  DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@mysql(c);
END;