【问题标题】:CMD file has 256 character length limitCMD 文件有 256 个字符长度限制
【发布时间】:2014-10-23 16:19:05
【问题描述】:

我正在使用 Informatica 9.5 生成一个 .CMD 文件。它创建两个 MOVE 命令(在同一个文件中,2 个单独的行),路径从参数文件中选取。 MOVE 命令的总长度超过 256 个字符,当生成 .CMD 文件时,它会在达到该字符限制时截断此路径。

我该如何解决这个问题?

我在 Informatica 转换中使用的表达式是:

'MOVE "'  ||  $$FROM_PATH1  || 'FOO.ZIP"  "'  || $$TO_PATH  ||   'FOO' ||  '.ZIP"'  || CHR(10)      ||  
'MOVE "'  ||  $$FROM_PATH2  || 'BAR.ZIP"  "'  || $$TO_PATH  ||   'BAR'  ||  '.ZIP"'

当 CMD 文件生成时,它会截断第二个变量,看起来像这样:

MOVE "\\ABC\XYZ\FOLDER1\FOO.ZIP" "\\ABC\XYZ\FOLFOO.ZIP"
MOVE "\\ABC\XYZ\FOLDER2\BAR.ZIP" "\\ABC\XYZ\FOLBAR.ZIP"

假设 $$TO_PATH\\ABC\XYZ\FOLDER3\,请注意它已经截断了变量路径,但仍然添加了硬编码字符。什么给了?

【问题讨论】:

  • 听起来您用于生成 .cmd 文件的工具存在问题(或您的使用方式)。
  • 如果 MOVE 命令的总长度小于 256 个字符,则可以正常工作。因此,Informatica 将某处的行字符限制设置为 256,或者 CMD 文件的每行不能超过 256 个字符。
  • 您可以通过在 cmd.exe 提示符下键入 echo 命令并查看是否可以回显超过 255 个字符来自行测试。你会看到它可以。因此,限制在于您用于生成 .cmd 文件的工具,而不是 cmd.exe 本身。
  • 是不是表达式的端口太短了?
  • @MarekGrzenkowicz 谢谢你的回答。我进去查看了那个转换中使用的参数,那个特定的参数确实有错误的精度。不在表达式或目标端口上,而是在参数精度本身上。愚蠢的错误。

标签: windows path cmd business-intelligence informatica


【解决方案1】:

最可能的问题是您的目标端口被定义为 255 个字符,或者映射期间的另一个转换被限制为 255 个字符。

增加违规端口的大小以解决您的问题。

【讨论】:

  • 此文件涉及的所有转换和目标端口都将字符串数据类型精度设置为 1000。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多