【问题标题】:Azure Data Facory, encoding issuesAzure 数据工厂,编码问题
【发布时间】:2018-03-21 14:56:33
【问题描述】:

我目前正在开发一个有关 Azure 数据工厂的项目,我认为编码存在一些问题。 我没有设法在文档中找到任何内容,您也许有答案?

我正在尝试在 SQL Server 和 Oracle 之间建立数据流。 我在 SQL Server 上的源表中的字段是 nvarchar(255)。

为了使流程正常工作,我必须在 Varchar2(255) 中配置目标字段。如果我尝试输入 nvarchar(255),则流量会出错:

ERROR [22001] [Microsoft][ODBC Oracle Wire Protocol driver]String data, right truncated.

否则,使用 Varchar2(255) 可以正常工作。

但是!我的问题来自特殊字符:

如果在我的数据源中,有像 ('é','è','à') 这样的重音符号,则流量会出错:

ERROR [22001] [Microsoft][ODBC Oracle Wire Protocol driver]String data, right truncated.

我尝试使目标字段更长,以向我的选择请求添加子字符串,但它不起作用。我无法转移特殊字符...

(顺便说一句,我尝试直接在 oracle 数据库中使用我的请求值进行“插入”,它工作正常)。

SQL Server 配置为 SQL_Latin1_General_CP1_CI_AS oracle数据库配置为AL16UTF16,版本为11.2.0.4.0。

您对解决该问题有什么想法或建议吗? 祝你有美好的一天!

【问题讨论】:

  • “Oracle 数据库在 AL16UTF16 中配置”是什么意思?在 Oracle 中,您有 2 个字符集,NLS_CHARACTERSETNLS_NCHAR_CHARACTERSET。对于VARCHAR2 列,发生NLS_CHARACTERSET
  • 我的错:NLS_CHARACTERSET -> AL32UTF8 和 NLS_NCHAR_CHARACTERSET->AL16UTF16
  • 您是否尝试在 SQL Server 上设置 NLS_LANG=.WE8ISO8859P1 环境变量?
  • 我做了更多的测试,显然,我可以插入特殊字符。但是 Juste 1. 如果我尝试插入 'é',没关系。但是'éé' 不行。你有什么解释吗?
  • 确实这看起来很奇怪。我不知道。

标签: sql-server oracle azure encoding azure-data-factory


【解决方案1】:

这是 Azure 数据工厂集成运行时中的一个已知问题,已在最新版本中修复。您可能想要升级您的集成运行时并重试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多