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