常用诊断字段¶
SQL STATE¶
SQL STATE 是ODBC规范定义的错误与警告代号,它描述了这些错误或警告发生的原因。ODBC中使用的SQL STATE多数基于ISO/IEF CLI标准,另外那些以IM打头的则是ODBC标准自定义的。
在格式上,SQL STATE是5个字符的字符数组。在用SQLGetDescField的SQL_DIAG_SQLSTATE选项或SQLGetDescRec获取诊断记录的SQL STATE时,只会用到存放5个字符的缓存,而不会有字符串结束符。应用程序不能直接把SQL STATE作为字符串使用。
信息文本¶
对用户而言,SQL STATE不便于阅读,并且它在不同的函数调用中有时会有不同的含义,因此应用程序一般需要同时把SQL STATE和相应的文本描述提供给用户。
用SQLGetDescField的SQL_DIAG_MESSAGE_TEXT选项或SQLGetDescRec可以获取信息文本。根据文本的前缀应用程序可以判断信息的来源:
- [Microsoft][ODBC Driver Manager]
信息由ODBC Driver Manager发布。
- [OSCAR][ODBC][DRIVER]
信息由神通数据库 ODBC驱动发布。在之后的文本中,神通数据库 ODBC驱动会描述错误或警告发生的原因。
- [OSCAR][ODBC][SERVER]
信息由神通数据库的数据库服务器发布。之后的文本是神通数据库 ODBC驱动从服务器接收的错误或警告信息,用户请参考神通数据库服务器的相关文档。