【发布时间】:2016-10-28 09:51:03
【问题描述】:
我有一个插入语句从数据库链接中提取数据。
insert into table (a,b,c)
select a,b,c from table@mysqldb;
这里的 c 列在 mysql 中是 long 类型,在 oracle 中是 varchar
我尝试转换为 varchar、substr(c, 1,2400)、UTL_RAW.CAST_TO_VARCHAR2、dbms_lob.substr 他们都没有在 oracle 方面工作。
在 mysql read 部分尝试过强制转换没有用。
谁能告诉我怎么做。在这里,我试图将 long 转换为 varchar。我们不能像 clob 一样加载,因为这个表在很多地方都使用过,我们不能在很多地方改变东西
谢谢。
【问题讨论】:
-
你得到什么错误? (我猜该命令是在 Oracle 中执行的,对吧?)
-
是的,我在 oracle 上运行它,当尝试使用 substr ORA-01461 时:只能绑定 LONG 值以插入 LONG 列
-
如果你执行
select a,b,c from table@mysqldb;会得到什么? -
好吧,这是在 proc 中运行的,我们无法直接查询我们无权访问的 mysql db。
-
我正在考虑从 Oracle 内部运行查询(例如使用 SQL-Developer 等),而不是 MySQL。
标签: mysql sql oracle varchar dblink