![](/img/trans.png)
[英]Is there a way to change user password on IBM System i (aka iSeries / AS400) using SQL?
[英]AS400 and System I Navigator
我是AS400的新手,我找到了一份工作,我正在使用AS400和Powerlink(XA)來訪問和管理大型ERP數據。 我找到了一種使用System I Nagivator表通過Excel VBA和SQL訪問數據的方法。
我的問題是我無法在Navigator中找到正確的Schemas> Tables來提供與AS400中我想要的數據相匹配的excel VBA。
問題:假設我想找到一個項目的價格,我想在Navigator中找到價格表。 在AS400中是否有辦法獲得與導航器中的同一個表匹配的價格表名稱?
這是我的第一個問題,如果需要更多信息,請告訴我。
請幫幫忙,謝謝!
首先是一個小術語,AS / 400是一個古老術語,以前稱為AS / 400的平台和操作系統的當前名稱現在是Power Systems上的IBM i。 IBM i是操作系統。 (直到IBM再次更改名稱)
如果您知道表名但不知道IBM i對象名
在IBM i上,數據庫內置於操作系統中,許多操作系統對象實際上都是數據庫對象。 以下是一些SQL概念如何映射到IBM i術語。
SQL IBM i
-------------- ------------------
Schema Library
Table Physical file
Index Logical file
View Logical file
Row Record
Column Field
不幸的是,在IBM i中,對象名稱限制為10個字符。 另一方面,SQL名稱最多可包含128個字符。 您將找不到名為CustomerMaster的物理文件。 DB2將長名稱映射到系統名稱。 您可以通過查詢目錄找到系統名稱,如下所示:
select system_schema_name, system_table_name
from qsys2.systables
where table_name = 'Navigator name'
TABLE_NAME
列將保留表的長SQL名稱, SYSTEM_TABLE_NAME
將保存IBM i對象名稱。 請注意,長模式名稱也可以映射到系統名稱。 列SCHEMA_NAME
擁有架構的長SQL名稱而SYSTEM_SCHEMA_NAME
持有的IBM i庫名。 模式名稱長度超過10個字符的情況並不常見,因此兩個模式名稱列通常是相同的。
如果您知道程序名稱,並且可以訪問源
這對你來說可能是顯而易見的,但我只是為了完整而把它放在這里。 您可以在源中查找正在使用的文件,並從屏幕字段回溯到文件。
如果你只有一個綠屏
如果您具有適當的權限,則可以檢索當前作業的打開文件。 如果這對您不起作用,則必須向系統管理員或具有權限的人員尋求幫助。 這只會讓你獲得候選文件,而且它們可能是邏輯文件。 為此,您必須有權查看您的工作,並且您必須知道系統請求密鑰如何映射到您的鍵盤(這是特定於實現的,並且可能是自定義的,因此您必須檢查與您公司內部的某人或您的模擬器確定相關內容。
在我們身后,啟動綠屏程序,顯示您正在尋找的價格字段。 然后按系統請求鍵。 如果您配置為允許此操作,您將在屏幕底部獲得一個輸入行,並將光標定位到它。
按Enter鍵。
您現在應該在系統請求菜單中。
選擇選項3並再次按Enter鍵。 您應該在當前作業的“顯示作業”屏幕中。
如果這一切都正常適合您,則選項12將顯示您的作業當前具有鎖定的文件。 也就是說,為您的工作打開的文件。 價格字段應該在其中一個中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.