我正在IBM環境中工作,特別是使用AS400機器和DB2數據庫。
我的下一個任務是將每個可能的文件從PF和LF轉換爲SQL(例如,CREATE TABLE ...和CREATE VIEW ...)。AS400文件 - 將PF和LF轉換爲SQL
有沒有我不能這樣做的情況?
我知道對於多記錄格式的文件你不行,這是真的嗎?
我正在IBM環境中工作,特別是使用AS400機器和DB2數據庫。
我的下一個任務是將每個可能的文件從PF和LF轉換爲SQL(例如,CREATE TABLE ...和CREATE VIEW ...)。AS400文件 - 將PF和LF轉換爲SQL
有沒有我不能這樣做的情況?
我知道對於多記錄格式的文件你不行,這是真的嗎?
使用System i Navigator在PC上連接到您的服務器並深入到數據庫和模式。單擊表或視圖列出(可能全部)該庫中的PF或LF。然後,右鍵單擊選擇並選擇「生成SQL」。我建議選擇生成'運行SQL腳本'。
結果將是一個SQL腳本,其中包含所有選定對象的CREATE TABLE或CREATE VIEW語句。列屬性也會包含大多數相關的LABEL語句。您可以將腳本保存到PC上的.SQL文件或網絡共享中。我通常會複製/粘貼腳本而不是保存腳本,但是您需要進行試驗才能理解您的案例中可能會生成行尾(CR和LF)。
請務必檢查(並可能測試)各種選項。有些可能更適合您的最終目標。
對於多格式的LF,我不認爲自從SQL變得完全可用以來,我沒有看到它們在我使用過的任何系統上使用過。由於沒有相當好的SQL,所以不太可能有任何自動方法。也許有人知道一個晦澀的可能性。
如果您的問題涉及System/36環境,請編輯您的問題以表明如此。許多額外的評論可能需要。
太棒了!沒有系統/ 36順便說一下! System Navigator是否使用QSQGNDDL命令來創建SQL語句? – LppEdd
@LppEdd是的。 –
@LppEdd,從DDS遷移到SQL DDL有很多文檔。 查看[從數據庫到用戶界面及其間的一切](https://www.redbooks.ibm.com/abstracts/sg248185.html?Open)現代化IBM i應用程序的第9章。 基本上,這個較舊的紅皮書[現代化IBM eServer iSeries應用程序數據訪問 - 路線圖基石]的內容(https://www.redbooks.ibm.com/abstracts/sg246393.html?Open) – Charles
是的,有些情況下文件不能'轉換爲SQL'。
多格式邏輯就是這樣一種情況。 程序描述物理是另一個。 API可能無法生成DDL。這聽起來好像您正在用其他東西替換IBM i。請注意,DB2 for i與DB2 LUW是一種稍微不同的方言,與MS SQL Server或MySQL完全不同。需要進行重大測試,以確保數據符合要求。
是的一種情況是當文件有多個成員時。任何最大成員大於1的pf都會導致問題。您可以使用dspfd命令創建包含多個成員的所有PF的列表。
dspfd file(*all/*allusr) type(*mbr) output(*outfile) outfile(mylib/myfile)
搜索最多會員> 1.
聽我here更多的信息,我們把這個Cruikshanking,我的工作
多成員PF是幾乎可以直接轉換爲SQL表,儘管它可能需要一些小的編程更改,並添加一列或兩列標識成員數據。另外,對於資金充足的站點,DB2 Multisystem可能會將成員轉換爲分區。 – user2338816
@ user2338816絕對你可以添加一列更改密鑰保持GIGO系統到位。然而,在V7.2移植到DDL表是浪費人力。 http://powerwire.eu/exclusive-ibm-i-7-2-delivers-17x-performance-gain-with-zero-change – danny117
的確如此,隨着SQE的發展,仍然依賴Query/400或OPNQRYF等等,都會看到緩解。但不知道它與這個問題有何關係。轉換爲DDL帶來的優勢遠遠超出了這兩個有希望衰落的領域。 – user2338816
FWIW outfile中是否有來自制造這樣的變化沒有特定的已知值DDS到SQL,已經這麼做了,爲了change_會改變;沒有具體目的的變更引入更容易遇到問題,而不是引入變更。有些人可能會對這種盲目變化帶來的好處作出瘋狂的聲明,但與這種_snake石油銷售人員不同的是,還有其他人從愚蠢中知道得更多 - 如果僅來自經驗。 – CRPence