本文介紹提交資料變更工單時常見的報錯及解決方案。
根據安全規則設定,禁止直接執行命令類型:XXXX或不允許提交類型為XXXX的變更語句
報錯樣本:
SQL類型檢查不通過,根據安全規則設定,禁止直接執行命令類型:XXXX,如果需要,請聯絡DBA或管理員調整!調整規則的入口路徑:安全與規範->安全規則->編輯->SQL變更->SQL執行規則,未匹配到該命令類型的任何規則,預設禁止執行
報錯原因:安全協同模式的資料庫綁定的安全規則不允許執行或提交該SQL命令,因此該命令會被攔截。
解決方案:禁止執行或不允許提交的SQL命令類型有非UNKNOW(DMS正常識別的SQL命令)和UNKNOW(DMS不能識別的SQL命令)兩種,您可按需選擇解決方案。
非UNKNOW
DMS可正常識別到非UNKNOW類型的命令,但當前的安全規則預設不允許該命令執行,請聯絡DBA或管理員,調整對應的安全規則。調整規則的具體操作如下。
查看安全規則集名稱。
進入資料變更工單詳情頁,單擊右上方的動作記錄,查看規則集名稱。
調整安全規則。
在頂部功能表列中,選擇
。在安全規則頁簽中,單擊目標規則集操作列下的編輯。
在左側導覽列中,單擊SQL變更。
根據報錯提示選擇檢測點。例如上述報錯樣本中檢測點需選擇SQL執行規則。
選擇待調整的安全規則,並單擊操作列下的編輯。
說明根據錯誤提示命令所屬的SQL語言類型選擇待調整的安全規則。例如,錯誤提示的命令類型為CREATE_INDEX,則需要選擇DDL相關的安全規則。
將報錯提示的SQL類型添加至對應安全規則的規則DSL中。
例:失敗原因提示禁止執行命令類型:CREATE_INDEX,您需要將該類型命令加入DDL提交工單的相關規則中,如下圖所示。
單擊提交。
調整完成後,您需要在工單詳情頁的預檢查地區,單擊重試,DMS將會重新進行類型檢查。
UNKNOW
檢查您提交的SQL語句是否有誤。若有誤,請在預檢查地區單擊修改SQL,確認修改後再單擊重試,重新進行類型檢查。
若您提交的SQL無誤,請單擊預檢查地區的查看詳情,篩選並查看被標識為UNKNOW的SQL語句,再聯絡管理員或DBA將被標識的SQL語句添加至安全規則中,並允許該語句在DMS執行,提交完成後,再單擊重試。調整識別規則的操作步驟,請參見調整安全規則。
檢查影響行數失敗,語法檢查失敗
報錯樣本:
檢查影響行數失敗,語法檢查失敗,錯誤資訊:ERROR. pos 37,line 1,column 31,token WHERE
報錯原因:提交工單進行資料變更的預檢查階段,DMS會通過檢查掃描行數再次檢查SQL語句的文法是否有誤。
解決方案:檢查您提交的SQL語句的文法是否有誤。
若SQL文法有誤,請在修改SQL後,單擊預檢查地區的重試,DMS將重新檢查掃描行數。
在確保SQL文法無誤後,您可以單擊預檢查地區的檢查掃描行數右側的跳過,忽略該錯誤。