如何解释或解码Teradata错误表中的Hostdata列
用例是,有一个Informatica云映射,它从SQL Server加载到Teradata数据库。如果在映射的运行时出现任何故障,则该映射会将所有故障行写入Teradata数据库中的表中。这个错误表中的关键列是我假设的如何解释或解码Teradata错误表中的Hostdata列,teradata,Teradata,用例是,有一个Informatica云映射,它从SQL Server加载到Teradata数据库。如果在映射的运行时出现任何故障,则该映射会将所有故障行写入Teradata数据库中的表中。这个错误表中的关键列是我假设的HOSTDATA。我试图解码HOSTDATA列,以便在生产过程中发生类似的ETL故障时,它将有助于快速确定根本原因。默认情况下,HOSTDATA是VARBYTES类型的列 要解码HOSTDATA列,请将该列转换为ASCII和Base 16格式。他们都没用 然后试着从下面的 然后尝试
HOSTDATA
。我试图解码HOSTDATA
列,以便在生产过程中发生类似的ETL故障时,它将有助于快速确定根本原因。默认情况下,HOSTDATA
是VARBYTES类型的列
要解码HOSTDATA
列,请将该列转换为ASCII
和Base 16
格式。他们都没用
然后试着从下面的
然后尝试使用BTEQ
脚本从错误表中提取数据。因此,将数据导出到.err文件中,并使用fastload
脚本将其加载回Teradata数据库。Fastload无法加载数据,因为数据没有特定的分隔符。.err文件中的数据看起来乱七八糟。.err文件中的数据快照:
我的最终目标是以更易于理解的方式解释
Hostdata
列。也欢迎在这方面提出任何建议。错误表提取器命令是“Teradata并行传输程序库”软件的一部分,用于从错误表VARBYTE列中提取主机数据并格式化
根据您问题中的屏幕截图,我怀疑您需要将FORMATTED指定为twbertbl的记录格式选项(默认值为分隔符)。据我所知,您看到的是ODBC驱动程序(本例中为sql server)转储到err表中返回的缓冲区。我猜,我这里没有答案,为了把这个东西分解成人类可读的东西,你应该使用odbc标准把这个文件当作odbc缓冲区,然后逐字节解析。我不知道已经存在一个工具/库,因此您不必翻阅ODBC标准文档并重新发明轮子。请查看错误表提取器命令btw-从屏幕截图中,我会说此加载使用了格式化记录格式。您为我指出了正确的方向。我将进一步探讨twbertbl。谢谢@Fred@Fred,你可以把它作为答案发布(如果你愿意,可以添加一些细节),这样我就可以选择它了。:)