科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解析:教你轻松掌握ODBC错误信息的格式

解析:教你轻松掌握ODBC错误信息的格式

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ODBC 驱动程序以诊断记录的形式将消息返回到应用程序。应用程序可以调用 SQLGetDiagRec 和 SQLGetDiagField 函数检索这些诊断记录。

作者:赛迪网 limeinan 来源:天新网 2008年3月28日

关键字: Mssql SQL SQL Server 数据库

  • 评论
  • 分享微博
  • 分享邮件

ODBC 错误信息格式

ODBC 驱动程序以诊断记录的形式将消息返回到应用程序。应用程序可以调用 SQLGetDiagRec 和 SQLGetDiagField 函数检索这些诊断记录。Microsoft® SQL Server™ ODBC 驱动程序将 SQL Server 消息的组成部分映射到如下这些标准 ODBC 诊断记录字段中:

SQLSTATE

ODBC 规范定义一个称为 SQLSTATE 的五字符代码,用来标识生成该消息的条件。这些 SQLSTATE 代码与 SQL Server 消息的任何部分都不相关。SQL Server ODBC 在将消息返回到应用程序时,可随时生成相应的 SQLSTATE 代码。

pfNative

SQL Server ODBC 驱动程序将 SQL Server 错误号返回为 ODBC pfNative 字段。例如,如果一条语句产生 SQL Server 错误 170(语法错误),则 ODBC 驱动程序在 pfNative 中返回 170。

MessageText

SQL Server ODBC 驱动程序将 SQL Server 错误描述返回为 ODBC 诊断记录中的 MessageText 字段。ODBC 规范定义 MessageText 字段的一系列标题,表明发出消息的组件:

◆[Microsoft][ODBC 驱动程序管理器]

这些消息是由 ODBC 驱动程序管理器发出的。

◆[Microsoft][ODBC 游标库]

这些消息是由 ODBC 客户游标库发出的。

◆[Microsoft][ODBC SQL Server 驱动程序]

这些消息是由 SQL Server ODBC 驱动程序发出的。如果没有以 Net-Library 或 SQL Server 安装为名称的其它节点,则由驱动程序发出消息。

◆[Microsoft][ODBC SQL Server 驱动程序][Net-Libraryname]

这些消息是由 SQL Server Net-Library 发出的,其中 Net-Libraryname 是 SQL Server 客户端 Net-Library 的显示名(例如,Named Pipes、Shared Memory、Multiprotocol、TCP/IP Sockets、NWLink IPX/SPX 或 Banyan VINES)。

◆[Microsoft][ODBC SQL Server 驱动程序][SQL Server]

这些消息是由 SQL Server 发出的。错误信息的其余部分是来自 SQL Server 的描述,通常来自 master.dbo.sysmessages。

ODBC 规范允许 ODBC 驱动程序在 ODBC 诊断字段中定义驱动程序特定的字段。SQL Server ODBC 驱动程序将 SQL Server 消息的各部分映射到 SQL Server ODBC 驱动程序的各特定诊断字段中:

SQL_DIAG_SS_SEVERITY。

包含 SQL Server 严重级别。

SQL_DIAG_SS_MSGSTATE。

包含 SQL Server 状态。它与 ODBC SQLSTATE 代码无关。

SQL_DIAG_SS_LINE。

包含含有生成消息的 SQL 语句的行号。

SQL_DIAG_SS_PROCNAME。

包含生成消息的存储过程的名称(如果恰当)。

SQL_DIAG_SS_SRVNAME。

包含产生消息的服务器名称。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章