数据提供程序以 SQLSTATE、SQLCODE、原因代码和错误文本的形式返回错误,格式为 OLE DB IErrorInfo 接口的一部分。 数据提供器使用分布式关系数据库体系结构(DRDA)协议和格式连接到 DB2 数据库服务器。 数据提供程序在 SQLSTATE HY000 或 08S01 中返回 DRDA 协议问题,其中包含关联的 SQLCODE 错误和文本。 下表列出了 DRDA 错误。 有关 DRDA 协议问题的其他信息,可以参考 Open Group () 发布的 DRDA 协议文档。http://www.opengroup.org 可以从 开放组书店 下载 DRDA V5 第 3 卷:分布式数据管理体系结构、出版物编号 C114(https://go.microsoft.com/fwlink/?LinkID=219127&clcid=0x409)。
DRDA 协议错误
下表列出了 DRDA 协议错误常量、值、SqlState、SqlCode 和错误说明。 星号 \ 指示未使用。
SQLSTATE | SQLCODE | DESCRIPTION |
---|---|---|
08S01 | -256 | 消息:工作单元异常。 原因:工作单位异常回复消息指示服务器在服务器上遇到问题,导致服务器异常结束工作单元。 操作: 确定是否因为死锁、操作员干预或其他问题导致服务器回滚工作单元。 查看客户端网络跟踪,以确定服务器是否返回了具有可选原因代码或其他可选诊断信息的 SQL 通信区域回复数据(SQLCARD)。 |
08S01 | -260 | 消息:访问 RDB 命令已经处理。 原因:访问关系数据库回复消息指示服务器无法完成数据库连接请求。 作:验证连接参数并重新尝试连接请求。 查看客户端网络跟踪,以确定服务器是否返回了具有可选原因代码或其他可选诊断信息的 SQL 通信区域回复数据(SQLCARD)。 |
08S01 | -261 | 消息:目标系统上检测到永久性错误状态。 请与服务器管理员联系。 原因:永久性代理错误回复消息指示服务器在服务器上遇到问题,导致服务器未完成请求的命令。 作:查看客户端网络跟踪以确定服务器是否返回了可选原因代码或其他可选诊断信息。 |
08S01 | -263 | 消息:无法启动包绑定进程。 原因:开始绑定错误回复消息指示服务器在服务器上遇到问题,从而阻止服务器启动请求的包绑定进程。 作:验证包绑定选项并重新尝试包绑定进程请求。 查看客户端网络跟踪,以确定服务器是否返回了具有可选原因代码或其他可选诊断信息的 SQL 通信区域回复数据(SQLCARD)。 |
08S01 | -269 | 消息:用户无权在目标系统上执行请求的命令。 原因:服务器无法使用在连接时显示的凭据对用户进行身份验证。 作:验证连接信息以确保指定的用户名(用户标识符)、密码和安全方法(交互式登录安全性、单一登录或 Kerberos)与为当前用户定义的服务器要求相匹配。 有关详细信息,请参阅有关用户名、密码和安全方法的主题。 |
08S01 | -270 | 消息:发生了内部网络库错误。 请求的命令在目标系统上遇到特定于实现的错误条件。 原因:命令检查回复消息表明服务器从客户端收到一个命令,该命令被服务器确定为在分布式数据管理或分布式关系数据库架构中不符合现有体系结构的命令。 操作:查看客户端网络跟踪记录,以确定服务器是否返回了额外的可选错误消息。这些错误消息可能指示问题的原因,以及解决问题的方法。 |
08S01 | -272 | 消息:发生了内部网络库错误。 目标系统无法识别或不支持请求的命令。 原因:不支持的命令回复消息表示服务器收到客户端发送的命令,但该命令服务器无法识别或不支持。 作:查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -273 | 消息:命令违反了会话的处理功能。 原因:命令冲突回复消息指示服务器收到来自客户端的命令,该客户端确定该服务器违反了当前会话的处理范围。 作:验证连接参数(例如分布式工作单元)并重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -274 | 消息:承诺请求。 原因:承诺请求回复消息指示服务器收到来自客户端的提交或回滚请求,该请求确定在当前上下文中无效。 作:验证连接参数(例如分布式工作单元)并重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -290 | 消息:说明无效。 原因:无效的说明回复消息指示服务器无法读取一个或多个数据值,导致命令失败,当客户端发送了无效的 DRDA 格式化数据对象内容体系结构(FD:OCA)描述符时。 作:验证数据参数值和数据类型,然后重新尝试命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码、无效的参数编号或其他可选诊断信息。 |
08S01 | -291 | 消息:主机由于数据映射错误而无法插入、修改或检索记录。 原因:数据映射错误回复消息指示服务器无法在客户端发送无效数据时将一个或多个数据值从源映射到目标,导致命令失败。 作:验证数据参数值和数据类型,然后重新尝试命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码、无效的参数编号或其他可选诊断信息。 |
08S01 | -303 | 消息:查询结束。 原因:由于服务器、网络或客户端出现问题,查询回复消息的结束表明服务器无法继续处理查询结果。 作:验证服务器和网络的状态,然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -304 | 消息:工作单元结束。 原因:工作单元结束条件回复消息表明服务器已根据从客户端收到的最后一个命令结束该工作单元。 作:验证连接参数(例如自动提交、分布式工作单元、连接超时、命令超时、FastLoad 优化和静态 SQL 包绑定选项),然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -331 | 消息:发生了内部网络库错误。 已提出一个请求,该请求需要一个内部管理者的依赖项,但此依赖项未得到满足。 原因:管理器依赖项错误回复消息指示服务器根据服务器指定的管理器级别从客户端接收了服务器在请求上下文中不支持的命令。 作:验证连接参数并重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选原因代码或其他可选诊断信息。 |
08S01 | -332 | 消息:管理层级别冲突。 原因:管理器级别冲突回复消息指示服务器无法完成数据库连接请求。 作:验证连接参数并重新尝试连接请求。 查看客户端网络跟踪,以确定服务器是否返回了具有可选原因代码或其他可选诊断信息的 SQL 通信区域回复数据(SQLCARD)。 |
08S01 | -335 | 消息:发生了内部网络库错误。 请求的命令发送了一个无法识别或不受目标系统支持的数据对象。 原因:不支持的对象回复消息指示服务器从客户端收到一个对象,服务器无法识别或服务器不支持。 作:查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -339 | 消息:打开查询失败。 原因:打开的查询失败回复消息指示服务器无法处理客户端请求以打开游标。 作:验证连接参数(例如自动提交、分布式工作单元、连接超时、命令超时、FastLoad 优化和静态 SQL 包绑定选项),然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -340 | 消息:打开查询回复消息。 原因:打开的查询完成回复消息指示服务器无法正常完成打开的查询或 SQL set 语句。 作:验证连接参数(例如自动提交、分布式工作单元、连接超时、命令超时、FastLoad Optimize、静态 SQL 包绑定选项或默认限定符)并重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -341 | 消息:包绑定进程对于指定的包不处于活动状态。 原因:关系数据库包绑定非活动状态的回复消息表明,当先前的开始绑定请求未完成时,服务器无法处理绑定 SQL 语句或结束绑定请求。 作:验证连接参数(例如包集合或静态 SQL 包绑定选项)并重新尝试命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -342 | 消息:RDB 包绑定进程处于活动状态时无法处理该命令。 原因:关系数据库包绑定进程活动回复消息指示服务器在前面的结束绑定请求未完成时无法处理绑定 SQL 语句。 作:验证连接参数(例如包集合或静态 SQL 包绑定选项)并重新尝试命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
HY000 | -343 | 消息:发生了内部网络库错误。 发生了网络级别聊天协议错误。 原因:会话协议错误代码字符串回复消息指示服务器收到了当前上下文中顺序不一的协议命令。 作:查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -344 | 消息:发生了内部网络库错误。 请求的命令包含一个参数,该参数未被识别或不受目标系统支持。 原因:参数不支持回复消息表示服务器无法完成请求的命令,当服务器无法识别或支持指定的命令时。 作:验证连接和命令参数,然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -345 | 消息:未打开查询。 原因:查询未打开回复消息表示服务器在查询未打开时无法处理继续查询或关闭查询命令。 作:验证服务器、网络和连接参数的状态(例如自动提交、分布式工作单元、连接超时、命令超时、FastLoad Optimize 和静态 SQL 包绑定选项),然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -346 | 消息:查询先前已打开。 原因:以前打开的查询答复消息指示服务器无法处理已打开的查询请求。 作:验证连接参数(例如自动提交、分布式工作单元、连接超时、命令超时、FastLoad 优化和静态 SQL 包绑定选项),然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -356 | 消息:用户已有权访问主机资源。 原因:当客户端已连接到关系数据库时,当前访问的关系数据库回复消息指示服务器无法完成访问关系数据库命令。 作:验证连接参数(例如初始目录、连接池、连接超时),然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -357 | 消息:主机资源请求失败。 原因:关系数据库访问失败回复消息指示服务器无法完成连接请求。 作:验证服务器、网络和连接参数的状态(例如初始目录、网络地址、网络端口和连接超时),然后重新尝试连接请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -358 | 消息:用户无权访问主机资源。 检查身份验证凭据或联系系统管理员。 原因:无权访问关系数据库回复消息表示服务器无法使用连接时提供的凭据对用户进行身份验证。 作:验证连接信息以确保指定的用户名(用户标识符)、密码和安全方法(交互式登录安全性、单一登录或 Kerberos)与当前用户定义的服务器要求匹配,然后重新尝试连接请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 有关详细信息,请参阅有关用户名、密码和安全方法的主题。 |
08S01 | -359 | 消息:必须在请求 RDB 服务的任何命令之前发出访问 RDB 命令。 原因:关系数据库未访问的回复消息表示,当上述连接请求未完成时,服务器无法完成该命令。 作:验证连接信息,然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
HY000 | -360 | 消息:找不到主机资源。 检查初始目录值是否与主机资源名称匹配。 原因:找不到关系数据库回复消息表示服务器无法将客户端连接到请求的关系数据库。 作:验证连接信息以确保初始目录值与 DB2 for z/OS 位置名称、DB2 for IBM i 关系数据库目录条目(RDBDIRE)或 DB2 for Windows 数据库名称匹配。 验证网络地址和网络端口的值,然后重新尝试连接请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 有关详细信息,请参阅有关初始目录的主题。 |
08S01 | -361 | 消息:RDB 更新回复消息。 原因:关系数据库更新回复消息指示服务器无法完成更新本地或远程关系数据库的命令。 作:验证连接参数(例如自动提交、分布式工作单元、连接超时、命令超时、FastLoad 优化和静态 SQL 包绑定选项),然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -370 | 消息:目标系统上的资源不足,无法完成命令。 请与服务器管理员联系。 原因:资源限制达到回复消息表示服务器由于服务器资源不足(例如内存、锁定、缓冲区)而无法完成。 作:验证连接和命令参数,然后重新尝试连接和命令请求。 查看客户端网络跟踪,以确定服务器是否返回了具有可选原因代码或其他可选诊断信息的 SQL 通信区域回复数据(SQLCARD)。 |
08S01 | -372 | 消息:发生 SQL 错误。 原因:SQL 错误条件回复消息指示服务器遇到一个错误,并为该错误返回了一个 SQL 错误。 作:验证连接和命令参数,然后重新尝试连接和命令请求(例如任何 SQL 语句,以及任何将 SQL 语句绑定到静态 SQL 包节进程请求)。 查看客户端网络跟踪,以确定服务器是否返回了具有可选原因代码或其他可选诊断信息的 SQL 通信区域回复数据(SQLCARD)。 |
HY000 | -379 | 消息:发生了内部网络库错误。 发生了网络级别语法错误。 原因:数据流语法错误回复消息指示服务器无法处理服务器确定的协议命令不符合分布式数据管理体系结构的要求。 作:查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -381 | 消息:发生了内部网络库错误。 请求的命令发送了一个无法识别或不受目标系统支持的数据对象扩展。 原因:目标不支持的回复消息表明服务器从客户端接收了一个参数,该参数服务器无法识别或不支持。 作:查看客户端网络跟踪,以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
08S01 | -385 | 消息:发生了内部网络库错误。 请求的命令包含一个参数值,该值不可识别或不受目标系统支持。 原因:参数值不支持的回复消息表明服务器收到来自客户端的参数值(例如主机 CCSID 无效),该值是服务器无法识别或不支持的。 客户端在连接或执行命令时指定了不正确的用户指定值。 作:查看客户端网络跟踪以查看其值未被识别或不支持的参数,并确定服务器是否返回了可选的严重性代码或其他可选诊断信息。 |
HY000 | -1500 | 消息:当前连接已达到最大语句数(128 个)。 原因:客户端依赖于 DB2 静态 SQL 包中节中预定义的 SQL 语句来支持执行并发 SQL SELECT 语句。 默认情况下,客户端定义了 128 个包部分,允许客户端为每个客户端连接执行 128 个并发 SQL SELECT 语句。 当未完成的并发 SQL SELECT 语句的最大数目超过预定义节数时,客户端无法执行新的 SQL SELECT 语句。 作:验证连接信息,以确保包集合值与 DB2 集合匹配,其中 HIS 2010 包由当前用户 ID 或 PUBLIC 定义以执行。 有关详细信息,请参阅关于包集合的章节。 |
HY000 | -1501 | 消息:用户无权创建(执行)包。 原因:服务器无法执行 SQL SELECT 或 CALL 语句,该语句需要存储在当前用户无权访问的静态 SQL 包中的 CURSOR 语句。 客户端依赖于 DB2 静态 SQL 包中节中预定义的 SQL 语句来支持 SQL SELECT 语句的执行。 默认情况下,如果运行时用户对包集合连接属性中指定的 DB2 集合具有包 BIND、EXECUTE 和 GRANT 权限,则客户端会自动定义包。 操作:验证连接信息,以确保包集值与 DB2 集集合匹配,其中 HIS 2010 包由当前用户标识或 PUBLIC 定义以执行。 使用数据访问工具、数据源向导、数据链接或数据访问库手动创建 HIS 2010 包以供当前用户 ID 或 PUBLIC 执行。 连接到 DB2 时,请使用拥有 CREATE、BIND 和 EXECUTE 权限,能够自动创建 HIS 2010 包的授权 ID。 有关详细信息,请参阅关于包集合的章节。 |
HY000 | -7049 | 消息:无法从池中获取连接。 应用程序已达到连接池连接的数量上限。 在“MAX POOL SIZE”属性中定义的最大数字。 原因:客户端在客户端连接池中的可用连接已用尽时无法连接到服务器。 作:配置更大的最大池大小,并在共用连接上设置超时。 有关详细信息,请参阅有关最大池大小的主题。 |
TCPIP 网络错误
下表列出了 TCPIP 网络客户端错误常量、值、SqlState、SqlCode 和错误说明。
SQLSTATE | SQLCODE | DESCRIPTION |
---|---|---|
08S01 | -602 | 消息:无法解析指定的主机名。 原因:客户端无法连接到具有错误用户指定的网络地址或网络端口值的 DB2 服务器。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | -603 | 消息:无法连接到指定的主机。 原因:客户端无法使用用户指定的网络地址或网络端口值连接到 DB2 服务器,或者服务器不可用。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 请联系网络管理员或服务器管理员。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | -604 | 消息:套接字分配失败。 原因:当所有本地客户端套接字资源都正在使用时,客户端无法通过 TCP/IP 网络连接到 DB2 服务器。 作:关闭未使用的客户端连接。 利用客户端连接池化技术。 有关详细信息,请参阅有关连接池的主题。 |
08S01 | -605 | 消息:由于主机无法发送任何数据,网络连接已终止。 原因:由于客户端或服务器出现意外问题,客户端无法连接到 DB2 服务器。 作:联系客户端管理员、网络管理员或服务器管理员。 |
08S01 | -606 | 消息:企业单一登录失败:无法联系 SSO 服务器 <服务器名称>。 检查是否已配置 SSO,以及 SSO 服务是否在 hat 服务器上运行。 原因:未配置或运行企业单 Sign-On 服务器。 操作:验证连接信息,以确保ESSO关联应用程序名称与企业单 Sign-On 管理员定义的服务器和当前用户的值匹配。 请与企业单一 Sign-On 管理员联系。 配置备用身份验证方法。 有关详细信息,请参阅有关安全方法的主题。 |
08S01 | 10014 | 消息:发生 TCPIP 套接字错误(10014):名称指向的 sockaddr 结构包含对于关联的地址系列无法识别的格式或 namelen 参数过小。 如果 name 参数指向的 sockaddr 结构在 namelen 参数中指定的长度下不在用户地址空间的有效部分,此错误也会返回。 原因:客户端尝试使用格式不正确的 IPv6 网络地址连接到 DB2 服务器。 作:验证连接信息,以确保指定的网络地址符合服务器和 IPv4 或 IPv6 网络的要求。 有关详细信息,请参阅有关网络地址的主题。 |
08S01 | 10022 | 消息:发生 TCPIP 套接字错误(10022):提供了无效参数。 原因:客户端尝试使用格式不正确的 IPv4 或 IPv6 网络地址连接到 DB2 服务器。 作:验证连接信息,以确保指定的网络地址符合服务器和 IPv4 或 IPv6 网络的要求。 有关详细信息,请参阅有关网络地址的主题。 |
08S01 | 10024 | 消息:发生 TCPIP 套接字错误(10024):不再提供套接字描述符。 原因:当所有本地客户端套接字连接都正在使用时,客户端无法通过 TCP/IP 网络连接到 DB2 服务器。 作:关闭未使用的客户端连接。 利用客户端连接池。 有关详细信息,请参阅连接池主题。 |
08S01 | 10040 | 消息:发生 TCPIP 套接字错误(10040):消息太大,无法容纳到指定的缓冲区中并被截断。 原因:客户端无法按程序请求执行命令。 作:验证命令语法和参数数据值是否在 DB2 服务器平台和版本支持的限制范围内。 有关命令和数据类型限制的详细信息,请参阅有关数据类型映射的主题。 |
08S01 | 10043 | 消息:发生 TCPIP 套接字错误(10043):不支持指定的协议。 原因:客户端尝试使用 DB2 服务器不支持的访问方法(如安全套接字层或传输层安全性)连接到 DB2 服务器。 作:验证连接信息以确保 DB2 服务器支持 SSL 或 TLS。 在不指定 SSL 或 TLS 的情况下配置 TCP/IP 网络。 请联系网络管理员或服务器管理员。 有关 TCP/IP 网络连接的详细信息,请参阅有关 TCP/IP 网络连接的主题。 |
08S01 | 10047 | 消息:发生 TCPIP 套接字错误(10047):指定系列中的地址不能用于此套接字。 原因:客户端尝试使用格式不正确的 IPv4 或 IPv6 网络地址连接到 DB2 服务器。 作:验证连接信息,以确保指定的网络地址符合服务器和 IPv4 或 IPv6 网络的要求。 有关详细信息,请参阅有关网络地址的主题。 |
08S01 | 10049 | 消息:发生了 TCPIP 套接字错误(10049):远程地址不是有效的地址(如INADDR_ANY或in6addr_any)。 原因:客户端尝试使用格式不正确的 IPv6 网络地址连接到 DB2 服务器。 作:验证连接信息,以确保指定的网络地址符合服务器和 IPv4 或 IPv6 网络的要求。 有关详细信息,请参阅有关网络地址的主题。 |
08S01 | 10050 | 消息:发生 TCP/IP 套接字错误(10050):套接字操作遭遇死网络。 这可能表示网络系统(即 Windows 套接字 DLL 运行的协议堆栈)、网络接口或本地网络本身的严重故障。 原因:客户端无法使用用户指定的网络地址或网络端口值连接到 DB2 服务器,或者服务器不可用。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 请联系服务器管理员。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | 10051 | 消息:发生 TCPIP 套接字错误(10053):目前无法从此主机访问网络。 原因:客户端无法使用用户指定的网络地址或网络端口值连接到 DB2 服务器,或者服务器不可用。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 请联系服务器管理员。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | 10052 | 消息:发生 TCPIP 套接字错误(10053):对于面向连接的套接字,此错误表示由于在操作进行时保持活动检测到故障而导致连接中断。 对于数据报套接字,此错误指示生存时间已过期。 原因:服务器关闭了客户端连接。 作:联系网络管理员或服务器管理员。 |
08S01 | 10052 | 消息:发生 TCPIP 套接字错误(10052):由于保持活动检测到故障,操作正在进行时连接已中断。 原因:服务器关闭了客户端连接。 作:联系网络管理员或服务器管理员。 |
08S01 | 10053 | 消息:发生 TCPIP 套接字错误(10053):主机中的软件中止了已建立的连接。 原因:服务器关闭了客户端连接。 作:联系网络管理员或服务器管理员。 |
08S01 | 10054 | 消息:发生 TCPIP 套接字错误(10054):由于远程端执行硬关闭或中止关闭,虚拟电路已被重置。 应用程序应关闭该套接字,因为它已经无法使用。 在 UDP-datagram 套接字上,此错误表明以前的发送操作导致 ICMP“端口无法访问”消息。 原因:服务器关闭了客户端连接。 作:联系网络管理员或服务器管理员。 |
08S01 | 10055 | 消息:发生 TCPIP 套接字错误(10055):没有可用的缓冲区空间。 原因:当所有本地客户端套接字资源都正在使用时,客户端无法通过 TCP/IP 网络连接到 DB2 服务器。 作:关闭未使用的客户端连接。 利用客户端连接池化技术。 有关详细信息,请参阅有关连接池的主题。 |
08S01 | 10057 | 消息:发生 TCPIP 套接字错误(10057):由于套接字未连接,并且在使用 sendto 调用在数据报套接字上发送时未提供地址,因此请求发送或接收数据被拒绝。 原因:客户端无法连接到具有错误用户指定的网络地址或网络端口值的 DB2 服务器。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | 10060 | 消息:发生 TCPIP 套接字错误(10060):由于网络故障或对等系统无法响应而断开连接。 原因:服务器关闭了客户端连接。 作:联系网络管理员或服务器管理员。 |
08S01 | 10061 | 消息:发生 TCPIP 套接字错误(10061):尝试连接被强制拒绝。 原因:客户端无法连接到具有错误用户指定的网络地址或网络端口值的 DB2 服务器。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | 10065 | 消息:发生 TCPIP 套接字错误(10065):尝试对无法访问的主机执行套接字操作。 原因:客户端无法使用用户指定的网络地址或网络端口值连接到 DB2 服务器,或者服务器不可用。 作:验证连接信息,以确保指定的网络地址和网络端口与服务器匹配。 请联系服务器管理员。 有关详细信息,请参阅有关网络地址和网络端口的主题。 |
08S01 | 10093 | 消息:发生 TCPIP 套接字错误(10093):在使用此函数之前,必须进行成功的 WSAStartup 调用。 有关详细信息,请参阅 https://msdn.microsoft.com/library/ms742213(VS.85).aspx。 原因:当所有本地客户端套接字连接都正在使用时,客户端无法通过 TCP/IP 网络连接到 DB2 服务器。 作:关闭未使用的客户端连接。 利用客户端连接池化技术。 有关详细信息,请参阅有关连接池的主题。 |
常见错误
下表描述了可能发生的 DB2 服务器错误以及更正它们时必须执行的措施。
SQLSTATE | SQLCODE | 消息 | DESCRIPTION |
---|---|---|---|
42601 | -104 | 非法符号。 令牌无效。出现意外的令牌。 在<文本>之后发现了一个意外的令牌<token>。 预期标记可能包括:<token-list>。 |
原因:服务器无法执行包含非法、无效或意外符号或令牌的 SQL 语句。 作:使用 IBM DB2 SQL 参考验证特定 IBM DB2 平台和版本的 SQL 语法。 检查数据使用者应用程序是否使用不受支持的带分隔符的对象标识符(例如方括号([<object-name>]),而不是使用支持的分隔符(双引号)。 |
42602 | -113 | 在<字符串>中找到无效字符,原因代码<原因代码>。 已检测到名称中无效的字符。 <标识符> 包含不允许的字符或不包含任何字符。 |
原因:当客户端连接到 DB2 服务器时,服务器无法处理 SQL SET CURRENT SQLID 语句。 作:验证连接信息以确保默认限定符值与在其中编录对象的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。 |
42802 | -117 | 分配的值数与指定列或隐含列数不同。 语句包含错误的值数。 分配的值数与指定列或隐含列或变量的数目不同。 |
原因:当指定的值数与表(s)中的列数不同时,服务器无法执行 SQL INSERT 语句。 操作:通过查询系统目录(例如 SYSIBM.SYSCOLUMNS)或执行客户端架构查询(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS) 或 ADO.NET MsDb2Connection.GetSchema(Columns)),验证列数是否与 SQL 语句中的对象匹配。 |
22007 | -181 | DATETIME 值的字符串表示形式不是一个有效的 DATETIME 值 日期、时间或时间戳字符串中的值无效。 日期时间值的字符串表示形式超出范围。 |
原因:服务器无法执行 DATETIME 值格式不正确或超出范围的 SQL 语句。 操作:验证 DATETIME 值是否在受支持的范围内:年份 0001-9999,月份 1-12,日期 28/29/30/31(取决于月份和闰年),小时 0-23(美国制为 12 小时制),分钟 0-59,秒 0-59,以及微秒 0-999999。 检查连接信息以确保指定 DateTime As Date 选项为 True,以指示客户端删除映射到 DB2 时间戳数据值的 Windows DateTime 数据值的时间部分,从而允许 DB2 数据库将这些值读取为 DB2 Date 数据值。 有关详细信息,请参阅 DateTime As Date 的主题。 |
42704 | -204 |
<schema>。<对象> 是一个身份不明的名称。 检测到未定义的对象或限制名称。 <name> 是未定义的名称。 |
原因:服务器无法执行引用无效 <架构>和<对象>名称的 SQL 语句。 作:验证 SQL 语句中指定的对象名称。 检查连接信息,以确保默认限定符值与在其中对对象进行编录的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。 |
42703 | -206 |
<名称>在使用的上下文中无效 列 <名> 不在指定的表中。 <名称> 在使用的上下文中无效。 |
原因:服务器无法执行 SQL 语句,因为指定的列名不是该语句中引用的源表、目标表或视图的列。 zh-CN: 行动:通过查询系统目录(例如 SYSIBM.SYSCOLUMNS)或执行客户端架构查询(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS) 或 ADO.NET MsDb2Connection.GetSchema(Columns)),验证列引用是否与 SQL 语句中的对象匹配。 |
08S01 | -360 | 找不到主机资源。 检查初始目录值是否与主机资源名称匹配。 | 原因:服务器无法将客户端连接到请求的 DRDA RDBNAM(关系数据库名称)。 作:验证连接信息,以确保初始目录值与 DB2 for z/OS 位置名称匹配、DB2 for IBM i 关系数据库目录条目(RDBDIRE)或 DB2 for Windows 数据库名称。 有关详细信息,请参阅有关初始目录的主题。 |
42884 | -440 |
<当前路径中找不到名称为<例程名称>且具有兼容参数的例程>类型例程。 未找到具有指定名称和兼容参数的例程。 找不到名称为<例程名称>、类型为<例程类型>且具有兼容参数的已授权例程。 |
原因:服务器无法执行包含错误数量的参数或无效参数数据类型的 SQL CALL 语句,或引用无效 <的架构>。<对象> 名称。 操作:验证参数的数量。 检查参数数据类型。 验证 SQL 语句中指定的对象名称。 检查连接信息,确保默认限定符值与编录对象的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。 |
24501 | -501 | 在执行提取或关闭语句时标识的游标未被打开。 游标 <光标名称> 未打开。 在 FETCH 语句或 CLOSE 语句中指定的游标未打开,或者游标量函数引用中的游标变量未打开。 |
原因:服务器无法执行需要 FETCH 或 CLOSE 的 SQL SELECT 或 CALL 语句,因为 CURSOR 未处于打开状态。 操作:验证应用程序是否发出 COMMIT 或 ROLLBACK,这可能会导致游标关闭。 检查以前收到的返回消息,这些消息可能指示服务器根据系统事件自动关闭游标(例如 SQLCODE -404、-652、-679、-802、-901、-904、-909、-910、-911、-913 或 -952)。 验证连接信息以确保在使用某些通用消费者(包括 SQL Server Integration Services 和分布式查询处理器)进行远程工作单元事务时,AutoCommit 选项被指定为 True。 有关详细信息,请参阅有关 AutoCommit 的主题。 |
42501 | -551 | 无权提出异议。 无权对<资源名称>类型<资源类型>中的<对象名称>对象提出异议。 <authorization-ID> 没有所需的授权或特权来对对象<对象名称>执行<操作>。 |
原因:服务器无法执行 SQL SELECT 或 CALL 语句,该语句需要存储在当前用户无权访问的静态 SQL 包中的 CURSOR 语句。 客户端依赖于 DB2 静态 SQL 包中节中预定义的 SQL 语句来支持 SQL SELECT 语句的执行。 默认情况下,如果运行时用户对包集合连接属性中指定的 DB2 集合具有包 BIND、EXECUTE 和 GRANT 权限,则客户端会自动定义包。 操作:验证连接信息,以确保包集值与 DB2 集集合匹配,其中 HIS 2010 包由当前用户标识或 PUBLIC 定义以执行。 使用数据访问工具、数据源向导、数据链接或数据访问库手动创建 HIS 2010 包以供当前用户 ID 或 PUBLIC 执行。 连接到 DB2 时,请使用拥有 CREATE、BIND 和 EXECUTE 权限,能够自动创建 HIS 2010 包的授权 ID。 有关详细信息,请参阅关于包集合的章节。 |
42501 42602 |
-567 -567 |
<bind-type> 使用 <auth-id> 授权时发生错误,权限包 = <package-name> 权限 = <privilege>。 不允许使用授权名称 &1。 <authorization-ID> 不是有效的授权 ID。 |
原因:当用户帐户无权创建或执行所需的 DB2 包时,服务器无法执行 SQL SELECT 语句。 操作:验证连接信息,以确保包集值与 DB2 集集合匹配,其中 HIS 2010 包由当前用户标识或 PUBLIC 定义以执行。 使用数据访问工具、数据源向导、数据链接或数据访问库手动创建 HIS 2010 包以供当前用户 ID 或 PUBLIC 执行。 连接到 DB2 时,请使用拥有 CREATE、BIND 和 EXECUTE 权限,能够自动创建 HIS 2010 包的授权 ID。 有关详细信息,请参阅关于包集合的章节。 |
42710 | -601 | 要定义的对象 (版本或卷序列号) 的名称或 RENAME 语句的目标与现有的对象类型<的>名称 (版本或卷序列号) <对象名称>相同。 <名称>在<架构>类型<>中已存在。 要创建的对象的名称与类型>类型的<现有名称<名称>相同。 |
原因:当该名称已用于同一类型的另一个对象时,服务器无法为对象命名。 操作:为对象命名时,应确保与现有数据库对象的名称不同。 |
42721 | -725 | 在位置<___location>的特殊寄存器<寄存器>中提供了无效值 | 原因:服务器无法处理包含用户标识符或集合名称无效值的 SET CURRENT SQLID 语句。 作:验证连接信息以确保默认限定符值与在其中编录对象的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。 |
23505 | -803 | 插入或更新的值无效,因为索引空间<索引空间名称>中的索引对表的列施加了约束,这些列中不可有两行包含重复值。 删除现有行 X <行标识符> 指定的键值重复。 INSERT 语句、UPDATE 语句或 DELETE 语句导致的外键更新中的一个或多个值无效,因为索引 ID> 标识<的主键、唯一约束或唯一索引会限制表<名>对索引键具有重复值。 |
原因:服务器无法对受 UNIQUE INDEX 约束的表执行 INSERT 或 UPDATE 语句,其中语句会导致重复值。 操作:通过查询系统目录(例如 SYSIBM.SYSINDEXES)或执行客户端架构查询(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_INDEXES) 或 ADO.NET MsDb2Connection.GetSchema(Indexes))来验证数据值是否不违反约束。 |
51002 | -805 | DBRM 或包名称<位置名称>。<collection-id>。<dbrmname>。<consistency-token>未在计划<计划名称>中找到。
<原因>. 在 DRDA Server 中找不到集合名称 <中的 SQL 包 <包名称>>。 找不到包 <包名称> 。 |
原因:服务器找不到 DB2 客户端执行动态 SQL SELECT 语句所需的 DB2 静态 SQL 包。 作:验证连接信息,以确保包集合值与 DB2 集合匹配,其中 HIS 2010 包由当前用户 ID 或 PUBLIC 定义以执行。 有关详细信息,请参阅关于包集合的章节。 |
58004 | -901 | 由于系统错误导致执行失败,这不排除成功执行后续 SQL 语句。 SQL 系统错误。 SQL 语句由于系统错误不严重而失败。 可以处理后续 SQL 语句。 (原因<>。 |
原因:服务器未能执行当前 SQL 语句,但后续 SQL 语句可能会成功。 此错误可能是由于事务提交在分布式工作单元内失败,或者由于约束而更新失败,或者 SQL 语句包含无效长度(0 或超出最大长度)。 操作:用户应检查现有的原因代码,以确定是否需要进一步的用户或管理员操作,同时通过修改应用程序、事务或命令来确定如何避免该错误。 |
57011 | -904 | 由于资源不可用导致执行失败。 REASON <原因代码>、资源 <资源类型类型>以及资源名称 <资源名称>。 超出资源限制。 由于资源不可用,执行未能成功。 原因代码: <原因代码>、资源类型: <资源类型和>资源名称: <资源名称>。 |
原因:服务器无法执行 SQL 语句,因为该语句的对象不可用。 作:验证对象和数据库是否可用,而不处于死锁、脱机或其他不可用状态。 |
57033 | -913 | 由于死锁或超时导致未成功执行。 REASON CODE <原因代码>、资源 <资源类型类型>以及资源名称 <资源名称>。 行或对象<对象名称>在<资源名称>类型<资源类型>中使用。 未能成功执行是由于死锁或超时导致的。 原因代码 <原因代码>。 |
原因:服务器无法执行 SQL 语句,因为该语句的对象不可用。 作:验证对象和数据库是否可用,而不处于死锁、脱机或其他不可用状态。 提交或回滚上一操作,然后断开与数据库的连接。 检查服务器原因代码,了解有关对象状态的详细信息(例如 DB2 for z/OS 原因代码 00C90088 指示死锁,而 00C9008E 表示超时。 |