AWS DMS 跳过 SQL Server 中的某些表列

问题描述

我们的 sql Server 中有数据类型为 TEXT 的表列,当 DMS 运行以将数据从 sql Server 加载到 S3 时,这些数据类型的列将被删除。我已尝试按照以下说明操作,但目标 S3 存储桶中的文件中仍然不存在列。

CLOB

TEXT

To use this data type with AWS DMS,you must enable the use of CLOB data types for a specific task.

For sql Server tables,AWS DMS updates LOB columns in the target even for UPDATE statements that don't change the value of the LOB column in sql Server.

During CDC,AWS DMS supports CLOB data types only in tables that include a primary key.

Documentation

我已经在控制台中尝试了以下转换规则的变体。

结果:

  • data-type nclob:加载成功但列被删除
  • data-type clob:加载成功但列被删除
  • data-type string:由于未指定长度而无法保存,但在控制台上没有设置长度的地方
  • 使用 terraform:在 terraform 上同时添加源和目标数据类型会出错

例如

table_mappings = [
    {
      "rule-type" : "transformation","rule-id" : "<RULE_ID>","rule-name" : "ConvertDataType","rule-action" : "change-data-type","rule-target" : "column","object-locator" : {
        "schema-name" : "<TARGET_SCHEMA>","table-name" : "<TARGET_TABLE>","column-name" : "%",},"data-type" : {
        "type" : "nclob"
      }
    }
  ]

如何正确设置 sql 服务器的转换规则,以便在 DMS 加载数据时不删除数据类型为 TEXT 的列?目标是从所有列都为 VARCHAR

的 SNowflake 中读取数据

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)