Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解释或解码Teradata错误表中的Hostdata列_Teradata - Fatal编程技术网

如何解释或解码Teradata错误表中的Hostdata列

如何解释或解码Teradata错误表中的Hostdata列,teradata,Teradata,用例是,有一个Informatica云映射,它从SQL Server加载到Teradata数据库。如果在映射的运行时出现任何故障,则该映射会将所有故障行写入Teradata数据库中的表中。这个错误表中的关键列是我假设的HOSTDATA。我试图解码HOSTDATA列,以便在生产过程中发生类似的ETL故障时,它将有助于快速确定根本原因。默认情况下,HOSTDATA是VARBYTES类型的列 要解码HOSTDATA列,请将该列转换为ASCII和Base 16格式。他们都没用 然后试着从下面的 然后尝试

用例是,有一个Informatica云映射,它从SQL Server加载到Teradata数据库。如果在映射的运行时出现任何故障,则该映射会将所有故障行写入Teradata数据库中的表中。这个错误表中的关键列是我假设的
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,你可以把它作为答案发布(如果你愿意,可以添加一些细节),这样我就可以选择它了。:)