2016-08-17 64 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