適用於:
Databricks SQL
Databricks Runtime 12.2 和更新版本
Azure Databricks 傳回的所有錯誤類別都會與 5 個字元 SQLSTATE相關聯。
SQLSTATE是、 JDBC和其他用戶端 API 常用ODBC之錯誤狀況的 SQL 標準編碼方式。
SQLSTATE包含兩個部分:兩個字元類別和三個字元子類別。
每個字元都必須是 或 到 '0''9''A'的數位。'Z'
雖然許多 SQLSTATE 值是由 SQL 標準規定,但其他值在產業中很常見,尤其是 Spark 或 Azure Databricks。
必要時,Spark 和 Azure Databricks 會針對自定義 SQLSTATEs 使用 'KD' 類別和 'K**' 子類別範圍。
'XX'類別用於保證錯誤報告的內部錯誤。
如需已排序的錯誤類別清單,請參閱: Azure Databricks 中的錯誤處理
Azure Databricks 使用下列 SQLSTATE 類別:
類別 07:動態 SQL 錯誤
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
07001 |
using 子句不符合動態參數規格 |
07501 |
PREPARE 或 EXECUTE 上指定的選項無效。 |
類別 08:連線例外狀況
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
08000 |
連線異常 |
08001 |
SQL-client 無法建立 SQL 連線 |
08003 |
線上不存在 |
08004 |
SQL-server 拒絕建立 SQL 連線 |
08006 |
連線失敗 |
08KD1 |
伺服器忙碌 |
類別 0A:不支援功能
類別 0B:無效的交易起始
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
0B000 |
無效的交易起始 |
類別 0K:當處理程式不在作用中時辭職
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
0K000 |
當處理程式不在作用中時辭職 |
類別 0N:SQL/XML 對應錯誤
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
0N000 |
SQL/XML 對應錯誤 |
類別 21:基數違規
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
21000 |
基數違反 |
21506 |
數據表的相同數據列不能是多個更新、刪除或插入作業的目標。 |
21S01 |
插入值清單不符合資料列清單 |
類別 22:數據例外狀況
類別 23:完整性條件約束違規
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
23001 |
限制違規行為 |
23502 |
插入或更新值為 Null,但數據行不能包含 Null 值。 |
23505 |
發生唯一索引或唯一條件約束所加之條件約束的違規。 |
23512 |
無法加入檢查條件約束,因為數據表包含的數據列不符合條件約束定義。 |
23K01 |
MERGE 基數違規 |
類別 25:無效的交易狀態
類別 28:無效的授權規格
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
28000 |
無效的授權規格 |
|
類別 2B:相依許可權描述項仍然存在
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
2BP01 |
相依物件仍然存在 |
類別 2D:無效的交易終止
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
2D521 |
SQL COMMIT 或 ROLLBACK 在目前的作業環境中無效。 |
|
|
2DKD0 |
認可攔截失敗。 |
類別 35:無效的條件號碼
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
35000 |
無效的條件號碼 |
類別 38:外部例程例外狀況
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
38000 |
外部例程例外狀況 |
類別 39:外部例程調用例外狀況
類別 3D:無效的目錄名稱
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
3D000 |
無效的目錄名稱 |
類別 3F:無效的架構名稱
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
3F000 |
無效的架構名稱 |
類別 40:交易回復
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
40000 |
交易復原 |
40001 |
序列化失敗 |
類別 42:語法錯誤或存取規則違規
類別 44:具有 check 選項違規
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
44000 |
含檢查選項違規 |
類別 46:Java DDL 1
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
46103 |
未解析的類別名稱 |
46110 |
不支援的功能 |
46121 |
無效的數據行名稱 |
類別 51:無效的應用程式狀態
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
51000 |
無效的應用程式狀態 |
51024 |
無法使用 對象,因為它已標示為無法使用。 |
類別 53:資源不足
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
53000 |
資源不足 |
53100 |
磁碟已滿 |
53300 |
連線太多 |
53400 |
超過組態限制 |
類別 54:超過程式限制
類別 55:物件不在必要條件狀態
類別 56:其他 SQL 或產品錯誤
類別 57:運算子介入
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
57000 |
操作員干預 |
57012 |
無法使用非資料庫資源。 這不會影響後續語句的成功執行。 |
57KD0 |
查詢執行時間超時 |
57P01 |
管理員關機 |
57P02 |
崩潰關機 |
57P03 |
現在無法連線 |
類別 58:系統錯誤
類別 82:記憶體不足
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
82100 |
記憶體不足(無法設定) |
類別 F0:組態檔錯誤
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
F0000 |
組態檔錯誤 |
類別 HV:FDW 特定條件
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
HV000 |
外籍家政工人特定條件 |
HV091 |
無效的描述元欄位識別碼 |
類別 HY:CLI 特定條件
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
HY000 |
CLI(命令列介面)特定條件 |
HY008 |
作業已取消 |
HY109 |
無效的數據指標位置 |
類別 KC:Unity 目錄特定錯誤
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
KCUC4 |
未捕捉用戶端例外 |
類別 KD:數據源特定錯誤
類別 P0:程式性邏輯錯誤
| SQLSTATE | 描述和引發錯誤狀況 |
|---|---|
P0001 |
引發異常 |