SQLSTATE映射
当您使用 ODBC 3.0 驱动程序调用 SQLGetDiagRec() 或 SQLError() 时,多个SQLSTATEs会有所不同。 无论设置了哪些环境属性,所有已弃用的函数都会继续返回 ODBC 2.0 SQLSTATEs。
以下列表显示了受影响的SQLSTATEs:
- HYxxx SQLSTATEs取代 S1xxx SQLSTATEs
- 42Sxx SQL STATEs 替换 S00xx SQLSTATEs
- 多个SQLSTATEs被重新定义
下表列出了 ODBC 2.0 至 ODBC 3.0 SQLSTATE的映射。
| ODBC 2.0 SQLSTATE | ODBC 3.0 SQLSTATE |
|---|---|
| 2 20 03 | HY019 |
| 22007 | 22008 |
| 22005 | 22018 |
| 37000 | 42000 |
| S000 1 | 42S0 1 |
| S000 2 | 42S02 |
| S001 1 | 42S11 |
| S001 2 | 42S12 |
| S002 1 | 42S21 |
| S0022 | 42S22 |
| S002 3 | 42S23 |
| S1000 | HY000 |
| S1001 | HY001 |
| S1002 | HY002 |
| S1003 | HY003 |
| S1004 | HY004 |
| S1009 | HY00 9或HY024 S1009 映射到 HY009 ,原因是无效使用空指针;S1009 映射到 HY024 ,原因是无效属性值。 |
| S1010 | HY010 |
| S101 1 | HY011 |
| S1012 | HY012 |
| S1013 | HY013 |
| S1014 | HY014 |
| S1015 | HY01 5 |
| S1019 | HY019 |
| S1090 | HY090 |
| S1091 | HY091 |
| S1092 | HY092 |
| S1093 | HY093 |
| S1096 | HY096 |
| S1097 | HY097 |
| S1098 | HY098 |
| S1099 | HY099 |
| S1100 | HY100 |
| S1101 | HY101 |
| S1103 | HY103 |
| S1104 | HY104 |
| S1105 | HY105 |
| S1106 | HY106 |
| S1107 | HY107 |
| S1110 | HY110 |
| S1501 | HY501 |
| S1506 | HY506 |
| S1C00 | HYC0 0 |