為了幫助開發(fā)人員更迅速地識別錯誤類型、定位和處理問題,我們整理了 DolphinDB Server 中的異常以及關(guān)鍵錯誤信息,總結(jié)出了一份 DolphinDB 數(shù)據(jù)庫錯誤代碼列表。當發(fā)生報錯時,參考錯誤代碼列表,就可以了解當前問題產(chǎn)生的原因。
錯誤代碼一覽
目前,我們已為大家整理了上百個錯誤代碼以及對應(yīng)的錯誤原因。錯誤代碼會隨著每一次版本發(fā)布而更新,收藏官網(wǎng)文檔,方便查看更新內(nèi)容。
S00001:發(fā)布、訂閱或取消訂閱流數(shù)據(jù)表前,未進行相關(guān)配置
S00002:當前分區(qū)分布式鎖已被占用
S00003:一個表的一個 SYMBOL 字段的不同取值超過了2^21(2.097.152)個
S00004:Server 創(chuàng)建套接字失敗
……
S01001:分區(qū)方式為 VALUE 的分區(qū)列數(shù)據(jù)中含有空值
S01002:使用 addRangePartitions 添加新分區(qū)時,newRanges 字段的范圍可能與數(shù)據(jù)庫中已有的分區(qū)范圍重疊
S01003:當前分區(qū)為構(gòu)建狀態(tài),不可刪除
S01004:新增 chunk 時,選擇有同樣分區(qū)的其他 chunk 所在的節(jié)點數(shù)少于副本數(shù)
……
S02000:unpivot 函數(shù)的 valueColNames 參數(shù)中各列的數(shù)據(jù)類型未保持一致
S02001:SQL 語句的 select 子句(以及 group by 子句,如果有)存在列名重復的列
S02002:saveText 函數(shù)的第一個參數(shù)是 SQL 元代碼,執(zhí)行時對應(yīng)的 SQL 語句無法拆分成多個子查詢
S02003:inputTables 的參數(shù)形式不合規(guī)
……
S03000:無法用 undef 函數(shù)取消一個流表變量的定義
S03001:創(chuàng)建流引擎時重名
S03002:使用 subscribeTable 函數(shù)進行訂閱時,訂閱主題 topic 重復
S03003:嘗試用 dropStreamTable 函數(shù)或者 drop 語句取消一個流表變量的定義時失敗
……
S04001:設(shè)置權(quán)限 grant 的對象如果是庫或者表時不存在
S04002:當使用 VIEW_EXEC 對某個用戶設(shè)置某個函數(shù)視圖的執(zhí)行權(quán)限時,該函數(shù)視圖不存在
S04003:當對某用戶設(shè)置 DB_OWNER 權(quán)限時,對應(yīng)的權(quán)限字符串格式非法
S04004:設(shè)置權(quán)限時的用戶為非 admin 用戶,且設(shè)置了不包含某些列表的權(quán)限
……
S05000:參與求逆的矩陣是奇異的(或稱為非可逆的)
S05001:使用下標訪問集合,或者使用 for 遍歷集合
S05003:DECIMAL 內(nèi)部的整型參與運算時,結(jié)果超出可表示范圍
S05004:數(shù)據(jù)寫入列時,數(shù)據(jù)類型不兼容
……
S06000:SQL update 語句不符合語法規(guī)范
S06001:當調(diào)用包含多個參數(shù)的函數(shù)時,傳參時如果一個參數(shù)指定了 keyword,其后的參數(shù)未指定 keyword
S06002:函數(shù)定義中使用了 share 語句
S06003:在命名函數(shù)定義里再嵌套定義命名函數(shù)
……
解讀錯誤代碼
DolphinDB 數(shù)據(jù)庫錯誤代碼由三部分構(gòu)成:S + <與系統(tǒng)模塊相關(guān)的錯誤類別碼> + <類別下編碼>
以 S01005 為例:
S:代表 Server
01:代表錯誤發(fā)生在存儲模塊下
005:代表存儲錯誤類別下屬的 005 錯誤
目前,DolphinDB 數(shù)據(jù)庫錯誤代碼列表涵蓋了如下七種類別:
除了提供列表方便自查,我們還總結(jié)了與錯誤代碼同時出現(xiàn)的報錯信息,以及對應(yīng)的解決方法。由于篇幅有限,請前往 DolphinDB 官網(wǎng)文檔,查看錯誤代碼的完整手冊~
相關(guān)稿件