mysql - 使用Datastage工具读取加密数据

标签 mysql sql database etl datastage

实际上我需要您在 datastage 11.7 工具方面的帮助。我正在从源中读取 AES 加密列,列类型为 nvarchar,因此当我们开始工作并从源中读取数据时。作业成功运行,并且完全相同的数据以相同的列类型移动到我的目标数据库。

实际发生的问题是,当我查询数据以检查源值和目标值是否相同时,查询不会显示任何结果,并且在视觉上如果我们查看源值、目标值,它们是相同的值,但 sql 语句什么也不返回,数据库是 Vertica。 列值是特殊的字母数字和特殊字符,例如 �D�&7��x��d$�Q

最佳答案

我根本不确定这是否可以通过数据阶段处理的加密数据和 varchar 正确实现。一些数据库具有与在提取之前需要解密的数据相匹配的内部 key 。我假设解密、传输、登陆然后加密不是一个选项。

但如果我不得不在黑暗中刺一剑。

我要检查的第一件事是两个数据库在表级别上的字符集和排序规则是否相同。差异可能会导致目标侧出现空白结果。

还要检查数据阶段中的 NLS 映射(阶段和排序规则区域设置的映射)是否已相应设置。我不知道该设置是什么,但在 DataSTage 和数据库中使其相同将是理想的;谷歌。您需要对数据库中已设置的内容进行评论。并运行测试。我不确定 DataStage 默认的 ISO-8859-1 是否有效。

如果您找到解决方案,请发布您的解决方案。

关于mysql - 使用Datastage工具读取加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50343352/

相关文章:

MySQL 查询以了解计划合规性

asp.net - Entity Framework 用字符串列表搜索记录?

java - saveorupdate 方法出现重复输入错误

sql - 为什么没有多对多关系?

sql - Python sqlite3错误-数据库已加密

mysql - SQL Sum 每个团队的前 5 行

sql - MySQL,合并空值的等效项?

Java 程序无法在 Ubuntu 中从 MySQL 打印印地语、古吉拉特语

mysql - 从子查询中获取 2 个结果

mysql - 有没有办法在使用 SQL 从表中提取列时更改列中的现有数据