Errors

創建視圖給出 SQL7029

  • October 17, 2020

如果相關,我正在使用 IBM i V7R1M0。

我在 C# 中有一些程式碼:

var generateSqlSql = $@"
CALL QSYS2.GENERATE_SQL(
   '{obj.Name}',
   '{obj.Library}',
   'VIEW',
   CREATE_OR_REPLACE_OPTION => '1',
   HEADER_OPTION => '0',
   COMMENT_OPTION => '1',
   PRIVILEGES_OPTION => '0',
   LABEL_OPTION => '0'
)";
...
//get results
//split on semicolon
//change library
//write back to database

然後它試圖編寫的 sql 是:

CREATE OR REPLACE VIEW AMMLIBC.BBI_USER_MY_VIEW FOR SYSTEM NAME         BBIU_00001 ( 
/* view columns */ ) 
AS 
/*view definition */
RCDFMT BBIU_00001 

當我嘗試執行它時,它會出現以下錯誤:

iDB2SQLErrorException: SQL7029 New name BBIU_00001 is not valid.

…為什麼?是什麼原因造成的,我該如何讓它發揮作用?

發現了問題。

該視圖已存在於原​​始庫和目標庫中,但係統名稱不同。

添加此行解決了問題:

SYSTEM_NAME_OPTION => '0',

引用自:https://dba.stackexchange.com/questions/247445