【问题标题】:Accessing mysql data in oracle在oracle中访问mysql数据
【发布时间】:2016-04-16 20:56:07
【问题描述】:

我每天使用 dblink 将数据从 MySQL db 导入到 oracle 11g。数据导入工作正常(我使用 insert 作为 select ),但 oracle 中导入的 varchar 列显示如下内容(中间有空格字母)。

d o c M g r / w o r k f l o w / q b y u e d u

我对插入的每一列都使用它

select replace("field2",' ','') field2 from

我们是否有任何设置或任何 Unicode/字符集,我可以在不使用替换功能的情况下插入这些设置或任何 Unicode/字符集。

【问题讨论】:

  • Oracle和Mysql中的字符集有区别吗?尝试将 Mysql 上的数据 CONVERT() 转换为 Oracle 字符集。

标签: mysql oracle oracle11g data-warehouse


【解决方案1】:

在插入中使用REPLACE 函数。

INSERT INTO yourtable
(field1, field2, field3)
SELECT field1, REPLACE("field2",' ',''), field3
FROM yourmysqltable;

【讨论】:

  • 我已经在这样做了,使用它的表数量在一段时间内正在增加。我正在寻找可以跨架构应用的通用解决方案。
  • 将 HS_NLS_NCHAR=UCS2 添加到 initXXXX.ora 文件解决了这个问题。DBA 进行了这些更改,并且它与替换功能一起使用。
【解决方案2】:

将 HS_NLS_NCHAR=UCS2 添加到 initXXXX.ora 文件解决了这个问题。DBA 进行了这些更改,并且它与替换功能一起使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 2016-11-18
    • 1970-01-01
    • 2016-04-09
    • 2012-05-24
    • 2016-12-05
    • 1970-01-01
    • 2011-03-09
    相关资源
    最近更新 更多