2016-08-17 63 views
1

我有这样使用IBM iSeries客户端访问从AS400 db文件创建.CSV文件时,能否挤出前导空格?

A R U110055R     TEXT('POSITIVE PAY') 
A   ACCT55 9A 
A   SERL55  10A 
A   ISSD55  10A 
A   AMT55   13A 
A   NAME55  50A 

我使用的数据传输距离的System i(适用于Windows V6R1 IBM我访问) 输出CSV定义的一个非常简单的iSeries AS400 DDS文件桌面。然后它将被我们的银行 PC软件使用。我无法找到一个设置或文件类型,如果没有前导空白,将会产生数据。它始终保存数据库文件的文件大小 (无尾随空白)。

我需要:

"192345678","311","07/22/2016","417700","ALICE BROWN CO." 
    "192345678","2887","07/22/2016","4124781","BARBIE LLC." 
    "192345678","2888","07/22/2016","4766","ROBERT BLUE, INC." 
    "192345678","2889","07/22/2016","71521","NANCYS COOKIES, INC" 
    "192345678","312","07/22/2016","67041","FRANKS MARKET" 

,但我得到:DDS的

"192345678","  311","07/22/2016","  11417700","ALICE BROWN CO." 
"192345678","  887","07/22/2016","  4124781","BARBIE LLC." 
"192345678","  888","07/22/2016","  3204766","ROBERT BLUE, INC." 
"192345678","  301","07/22/2016","  2971521","NANCY, INC" 
"192345678","  890","07/22/2016","  967041","FRANKS MARKET" 

回答

2

从IBM i上的应用数据传输的数据选项按钮,会弹出一个窗口,在这里你可以明确指定用于提取数据的SQL语句。

您可以使用SQL TRIM()功能有... enter image description here

+0

非常感谢!我知道必须有一个设置!现在。如果我们只能在文本字段中删除前导零 - 我的用户将被关闭并运行,并且我会在其他方面取得进展! – Sooze

+0

@Sooze,使用'TRIM(引导'0'从名字)' – Charles

1

限制:

Use of TRIM in DDS

答案好像是“你不行。”如果我这样做,我可能会 用DDL语句创建一个SQL VIEW,而不是尝试使用DDS完成 。

解决方案:W3School)或(IBM Knowledge Center

CREATE VIEW U110055V1 as 
    SELECT TRIM(ACCT55), 
      TRIM(SERL55), 
      TRIM(ISSD55), 
      TRIM(AMT55), 
      TRIM(NAME55) 
    FROM U110055 
    RCDFMT U110055V1R; 

建议:

  • 出口新创建的视图为.csv文件(refer herehere
  • 分享e网络上的IFS文件以实现轻松一致的自动访问,(无需手动导出,只需访问Access)。
+0

我不认为要导出数据库文件是在IFS,从而导出的需要。 – jmarkmurphy

+0

表格文件不在IFS中,新创建的作为Stearm文件的csv应该生成到IFS中。 –

+0

我会这样做。没有意义隐藏数据传输中的业务逻辑。 – danny117