mysql - sql 更新表 mysql 从 oracle 调用,尽管 dg4odbc 不工作

标签 mysql database oracle

我使用hs、dg4odbc从oracle查询mysql。查询 select mysql from oracle 是可以的,但是我的 update 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 调用更新 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;

关于mysql - sql 更新表 mysql 从 oracle 调用,尽管 dg4odbc 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42151496/

相关文章:

sql - Postgres : correlated subquery with NOT EXISTS

php - 更新 id = $GET ['id' ]

php - 如何使用 PDO 检索包含许多表的表

mysql - 返回包含 mysql 中数据库列表的文件

java - 客户端计算机上的 Applet JDBC 连接失败

mysql - 关于数据库设计

c# - 如何连接到远程 Oracle 数据库

oracle - 在 Oracle 中使用触发器模拟 IDENTITY/AUTOINCREMENT 列有多糟糕?

mysql - 适用于经常更改的条目的最佳数据库架构

sql-server - 系统进程正在锁定我的数据库文件 MDF