回答
最簡單的方法是導出到固定格式的訪問。這是Cobol文件數據描述的原生格式。
但是,如果訪問不支持此操作,則可以導出爲CSV(逗號分隔值)文件或TSV(選項卡分隔值)。 Cobol以其ANSI形式不支持這一點,但使用簡單的Unstring進行解析非常容易。例如:
Perform Read-A-Record
Perform until End-Of-File
Unstring Input-Record
delimited by ","
into Column-1-Field
Column-2-Field
...
Column-n-Field
Perform Read-A-Record
End-Perform
請小心......當導出數據值時,使用UNSTRING解析CSV文件有點困難可能包含逗號和/或引號。例如:**「1,200」**是一個包含逗號的數字。並且:**「我的」「名字」「,在這裏」**是包含引號和逗號的文本字符串。解析這些與UNSTRING是好多很多「有趣」 – NealB 2011-02-23 17:47:45
固定格式肯定是要走的路,任何Cobol都可以讀取固定格式文件。
一個簡單的方法來創建任何SQL方言固定格式文件(甲骨文,DB2,H2等)是使用SQL字符串函數創建一個單一的領域和出口/這個查詢寫入文件
MS訪問示例查詢:
SELECT Left(Str([TblId])+Space(8),8)
+ Left(Str([tblkey])+Space(20),20)
+ Left([Details]+Space(30),30)
+ "<" AS ExportString
FROM Tbl_TI_IntTbls;
COBOL的這將是最好右對齊填零和對齊小數點數字領域。
此外,如果這一關你 可以在訪問中運行查詢複製/粘貼輸出到文本編輯器。
Ms Access還允許您定義固定格式並使用它們來輸入(導出?),但是從我使用它們開始(我正在使用它們導入固定寬度數據)已經很長時間了。我將把這個討論留給訪問專家。
你也可以看看RecordEditor(http://record-editor.sourceforge.net/Record11.htm)/ JRecord(http://jrecord.sourceforge.net/),因爲
- 兩個讓你查看/編輯使用一個COBOL習字文件 - 有用 檢查出口比賽的的Cobol的定義
- 兩者有字帖分析選項 (文件菜單),將計算在一個COBOL 領域的 啓動/長度Copybook
- 兩者都有副本 功能,將到/從一個COBOL文件使用一個COBOL 字帖複製一個CSV文件
注:這是我的軟件無恥插頭
我會避免界定文件(如果分隔符出現在一個字段中),但是如果你必須使用一個obskure字符,例如'or〜or^
訪問可以通過導出嚮導或簡單的VB6程序或腳本導出爲固定字段格式可以使用Jet OLEDB Pro做同樣的事情vider和Jet的文本IISAM,以及定義輸出格式的Schema.ini文件。
有格式限制(沒有簽名包裝的十進制格式或其他Cobol exotica),但通常這應該足以創建大多數Cobol變體支持的文件。如果您確實必須將數字字段填充爲零,則可以使用Jet SQL表達式服務執行此操作,該服務允許內聯使用VBA函數的子集,並在Schema.ini文件中將結果字段定義爲文本。
如果您確實需要導出到某種ISAM文件,最好的辦法是編寫一箇中間Cobol程序來導入保存的字段字段文本數據。一些Cobol產品甚至可能包括公用事業公司進行這種進口。
- 1. 從VB .NET訪問DLL
- 2. Xcode 6訪問UIAiewlication從UIViewController
- 3. 從vb 6打開word 2007
- 4. 訪問97從VB創建對象
- 5. 受MsgBox影響的VB 6數據訪問
- 6. 訪問10是否使用VB 6或VB.Net
- 7. 訪問Visual Studio 2008中的VB 6項目
- 8. 從vb .net訪問日期錯誤
- 9. 訪問 「背景」 在XAML從VB
- 10. Vb 6 listview substring_index
- 11. vb無法連接到訪問2007 db
- 12. 從COBOL轉換到C++
- 13. Silverlight/VB 6集成
- 14. 如何從COBOL中的字符串訪問單個字符?
- 15. 從5到6的問題
- 16. VB 6連接到Web服務
- 17. VB腳本,並訪問
- 18. SQL或VB進行訪問
- 19. VB訪問衝突錯誤
- 20. 如何更改「。」到一個「,」在vb 6
- 21. 延遲在VB 6
- 22. 如何在VB 6
- 23. VB 6 ActiveX到.net和Internet Explorer
- 24. 從VB調用受管DLL的問題6代碼
- 25. 轉換代碼vb 6到vb.net
- 26. 如何將參數從CICS-COBOL傳遞到COBOL-DB2程序
- 27. VB 2008 Express版本vs VB 6
- 28. 問題從VB .NET
- 29. Cobol Printscreen到文件
- 30. 從VB到C#
你需要說哪種COBOL。 – 2011-02-23 15:55:31
不知道我明白這一點 - 訪問數據是數據,而COBOL代碼是代碼。 如果您嘗試將VB6代碼轉換爲COBOL,那是一個編程挑戰。我不確定是否存在自動轉換器,但實際上重寫代碼可能並不那麼困難。代碼運行的數據將是另一回事。 請你給我們更多的細節嗎? – TrueDub 2011-02-23 15:57:52
我試圖導出一些訪問數據到一個複製Cobol格式文件。這個將由第三部分軟件解析(我不知道這個SW會做什麼)。如果有一些「自動導出軟件」存在,我正在遊蕩;現在我試圖用VB腳本來做到這一點,但.. **是一種程序語言:-) ** – alesdario 2011-03-06 17:16:09