数据访问接口错误代码

数据访问接口以 SQLSTATE、SQLCODE、原因代码以及错误文本(格式设置为 OLE DB IErrorInfo 接口的一部分)的形式返回错误。 数据访问接口使用分布式关系数据库体系结构 (DRDA) 协议和格式连接到 DB2 数据库服务器。 数据访问接口以 SQLSTATE HY000 或 08S01 的形式返回 DRDA 协议问题,以及关联的 SQLCODE 错误和文本。 下表列出了 DRDA 错误。 有关 DRDA 协议问题的其他信息,可以参阅 The Open Group (http://www.opengroup.org) 发布的 DRDA 协议文档。 可以从开放组书店下载 DRDA V5 第 3 卷:分布式数据管理体系结构,出版物号 C114,从开放组书店 (https://go.microsoft.com/fwlink/?LinkID=219127&clcid=0x409) 。

DRDA 协议错误

下表列出了 DRDA 协议错误常量、值、SqlState、SqlCode 和错误说明。 星号 (*) 表示未使用。

SQLSTATE SQLCODE 说明
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 设置语句。

操作:验证连接参数(例如自动提交、分布式工作单元、连接超时值、命令超时、FastLoad 优化、静态 SQL 包绑定选项或默认限定符),然后重新尝试执行连接和命令请求。 查看客户端网络跟踪信息以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。
08S01 -341 消息:对于指定包而言,包绑定进程未处于活动状态。

原因:关系数据库包绑定进程未处于活动状态回复消息指示当上一个开始绑定请求未完成时,服务器无法处理绑定 SQL 语句或结束绑定请求。

操作:验证连接参数(例如包集合或静态 SQL 包绑定选项),然后重新尝试执行命令请求。 查看客户端网络跟踪信息以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。
08S01 -342 消息:当 RDB 包绑定进程处于活动状态时,无法处理命令。

原因:关系数据库包绑定进程处于活动状态回复消息指示当上一个结束绑定请求未完成时,服务器无法处理绑定 SQL 语句。

操作:验证连接参数(例如包集合或静态 SQL 包绑定选项),然后重新尝试执行命令请求。 查看客户端网络跟踪信息以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。
HY000 -343 消息:发生了内部网络库错误。 发生了网络级别对话协议错误。

原因:对话协议错误代码字符串回复消息指示服务器收到了在当前上下文中顺序混乱的协议命令。

操作:查看客户端网络跟踪信息,以确定服务器是否返回了可选严重性代码或其他可选诊断信息。
08S01 -344 消息:发生了内部网络库错误。 请求的命令包括目标系统不识别或不支持的参数。

原因:参数不受支持回复消息指示当服务器无法识别或不支持指定命令时无法完成请求的命令。

操作:验证连接和命令参数,然后重新尝试执行连接和命令请求。 查看客户端网络跟踪信息以确定服务器是否返回了可选的严重性代码或其他可选诊断信息。
08S01 -345 消息:查询未打开。

原因:查询未打开回复消息指示当查询未打开时,服务器无法处理继续查询或关闭查询命令。

操作:验证服务器状态、网络和连接参数(例如自动提交、分布式工作单元、连接超时值、命令超时、FastLoad 优化以及静态 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 集合具有程序包绑定、执行和授予权限,则客户端会自动定义包。

操作:请验证连接信息,以确保程序包集合值与 DB2 集合(其中定义了 HIS 2010 程序包以便当前用户标识符或 PUBLIC 执行)匹配。 使用数据访问工具、数据源向导、数据链接或数据访问库手动创建 HIS 2010 程序包,以便当前用户 ID 或 PUBLIC 执行。 使用有权自动创建 HIS 2010 程序包(创建、绑定和执行权限)的授权 ID 连接到 DB2。 有关详细信息,请参阅有关程序包集合的主题。
HY000 -7049 消息:从池中获得连接失败。 应用程序达到了连接池中连接的限制。 “MAX POOL SIZE”属性中定义的最大数。

原因:当客户端连接池中的可用连接耗尽时,客户端无法连接到服务器。

操作:配置更大的池大小上限,并设置池连接超时值。 有关详细信息,请参阅有关最大池大小的主题。

TCPIP 网络错误

下表列出了 TCPIP 网络客户端错误常量、值、SqlState、SqlCode 和错误说明。

SQLSTATE SQLCODE 说明
08S01 -602 消息:无法解析指定的主机名。

原因:用户指定的网络地址或网络端口值错误,客户端无法连接到 DB2 服务器。

操作:验证连接信息,确保指定的网络地址和网络端口与服务器匹配。 有关详细信息,请参阅有关网络地址和网络端口的主题。
08S01 -603 消息:无法连接到指定的主机。

原因:用户指定的网络地址或网络端口值错误或服务器不可用,客户端无法连接到 DB2 服务器。

操作:验证连接信息,确保指定的网络地址和网络端口与服务器匹配。 请与网络管理员或服务器管理员联系。 有关详细信息,请参阅有关网络地址和网络端口的主题。
08S01 -604 消息:套接字分配失败。

原因:所有本地客户端套接字资源都被使用,客户端无法通过 TCP/IP 网络连接到 DB2 服务器。

操作:关闭未使用的客户端连接。 使用客户端连接池。 有关详细信息,请参阅有关连接池的主题。
08S01 -605 消息:由于主机无法发送任何数据,网络连接已终止。

原因:由于客户端或服务器出现无法预料的问题,客户端无法连接到 DB2 服务器。

操作:请与客户端管理员、网络管理员或服务器管理员联系。
08S01 -606 消息:企业单一登录失败:无法联系 SSO 服务器 <服务器名称>。 请查看 SSO 是否配置,以及 HAT 服务器上是否在运行 SSO 服务。

原因:企业单一登录服务器未配置或未运行。

操作:验证连接信息,确保 ESSO 关联应用程序名称与服务器的值以及企业单一登录管理员所定义的当前用户匹配。 请与企业单一登录管理员联系。 配置备选的身份验证方法。 有关详细信息,请参阅有关安全方法的主题。
08S01 10014 消息:发生了 TCPIP 套接字错误 (10014):按名称指向的 sockaddr 结构包含的相关地址系列的地址格式不正确,或 namelen 参数过小。 如果按照具有 namelen 参数中指定长度的名称参数指向的 sockaddr 结构不是用户地址空间的有效部分,则也会返回该错误。

原因:客户端尝试使用格式不正确的 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。 配置 TCP/IP 网络,而不指定 SSL 或 TLS。 请与网络管理员或服务器管理员联系。 有关 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 消息:发生了 TCPIP 套接字错误 (10050):套接字操作遇到死网络。 这可能表明网络系统(也就时说,Windows Sockets DLL 的协议堆栈溢出)、网络接口或局域网本身出现严重故障。

原因:用户指定的网络地址或网络端口值错误或服务器不可用,客户端无法连接到 DB2 服务器。

操作:验证连接信息,确保指定的网络地址和网络端口与服务器匹配。 请与服务器管理员联系。 有关详细信息,请参阅有关网络地址和网络端口的主题。
08S01 10051 消息:发生了 TCPIP 套接字错误 (10053):此时无法从此主机访问网络。

原因:用户指定的网络地址或网络端口值错误或服务器不可用,客户端无法连接到 DB2 服务器。

操作:验证连接信息,确保指定的网络地址和网络端口与服务器匹配。 请与服务器管理员联系。 有关详细信息,请参阅有关网络地址和网络端口的主题。
08S01 10052 消息:发生了 TCPIP 套接字错误 (10053):对于面向连接的套接字,此错误指示由于 keep-alive 活动在操作进行过程中检测到故障,该连接已中断。 对于数据报套接字,此错误显示生存时间已经过期。

原因:服务器关闭了客户端连接。

操作:请与网络管理员或服务器管理员联系。
08S01 10052 消息:发生了 TCPIP 套接字错误 (10052):由于 keep-alive 活动在操作进行过程中检测到故障,该连接已中断。

原因:服务器关闭了客户端连接。

操作:请与网络管理员或服务器管理员联系。
08S01 10053 消息:发生了 TCPIP 套接字错误 (10053):建立的连接被主机上的软件中止。

原因:服务器关闭了客户端连接。

操作:请与网络管理员或服务器管理员联系。
08S01 10054 消息:发生了 TCPIP 套接字错误 (10054):虚拟线路被执行硬关闭或异常关闭的远程端重置。 因为套接字不可再用,应用程序应关闭套接字。 在 UPD 数据报套接字上,此错误将显示以前发出的操作导致出现 ICMP“无法访问端口”消息。

原因:服务器关闭了客户端连接。

操作:请与网络管理员或服务器管理员联系。
08S01 10055 消息:发生了 TCPIP 套接字错误 (10055):无可用的缓冲区空间。

原因:所有本地客户端套接字资源都被使用,客户端无法通过 TCP/IP 网络连接到 DB2 服务器。

操作:关闭未使用的客户端连接。 使用客户端连接池。 有关详细信息,请参阅有关连接池的主题。
08S01 10057 消息:发生了 TCPIP 套接字错误 (10057):由于未连接套接字且(使用 sendto 调用在数据报套接字上发送时)未提供地址,发送或接收数据的请求被禁止。

原因:用户指定的网络地址或网络端口值错误,客户端无法连接到 DB2 服务器。

操作:验证连接信息,确保指定的网络地址和网络端口与服务器匹配。 有关详细信息,请参阅有关网络地址和网络端口的主题。
08S01 10060 消息:发生了 TCPIP 套接字错误 (10060):由于网络故障或 Peer 系统无法响应,该连接已被删除。

原因:服务器关闭了客户端连接。

操作:请与网络管理员或服务器管理员联系。
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 消息 说明
42601 -104 非法符号。

标记是无效的意外标记。

文本后发现了意外的令牌<>。<> 预期的令牌可能包括: <token-list>。
原因:服务器无法执行包含非法、无效或意外符号或标记的 SQL 语句。

操作:请验证该 SQL 语法是否使用面向特定 IBM DB2 平台和版本的 IBM DB2 SQL 参考。 检查数据使用者应用程序是否使用不支持的分隔对象标识符 (例如方括号 ([<object-name>]) ,而不是使用支持的分隔符 (双引号) 。
42602 -113 在 中找到无效字符: <字符串>、原因代码 <原因代码>。

已检测到名称中无效的字符。

<identifier> 包含不允许或不包含任何字符的字符。
原因:在客户端连接到 DB2 服务器时,服务器无法处理 SQL SET CURRENT SQLID 语句。

操作:请验证连接信息,以确保默认限定符值与其中对象已编入目录的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。
42802 -117 所分配值的个数与指定或隐含的列数不同。

语句中包含的值个数错误。

所分配值的个数与指定或隐含的列数或变量数不同。
原因:在指定的值的数量与表中列的数量不同时,服务器无法执行 SQL INSERT 语句。

操作:通过查询系统目录(例如 SYSIBM.SYSCOLUMNS)或执行客户端架构查询(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS) 或 ADO.NET MsDb2Connection.GetSchema(Columns))来验证列的个数是否与 SQL 语句中的对象个数相同。
22007 -181 日期时间值的字符串表示形式不是有效的日期时间值

日期、时间或时间戳字符串中的值无效。

日期时间值的字符串表示形式超出了范围。
原因:服务器无法执行 DATETIME 值格式不正确或超出范围的 SQL 语句。

操作:请验证 DATETIME 是否在支持的范围内。具体范围如下:年份介于 0001-9999 之间,月份介于 1-12 之间,日期为 28/29/30/31(取决于月份以及是否为闰年),小时介于 0-24(对于美国,应为 0-12)之间,分钟介于 0-59 之间,秒介于 0-59 之间,微秒介于 0-999999 之间。 检查连接信息,确保 DateTime As Date 选项指定为 True,以指示客户端删除映射到 DB2 Timestamp 数据值的 Windows DateTime 数据值的时间部分,从而使 DB2 数据库能够将这些值读作 DB2 Date 数据值。 有关详细信息,请参阅有关 DateTime As Date 的主题。
42704 -204 <架构>。<对象> 是一个未识别的名称。

检测到未定义的对象或限制名称。

<name> 是未定义的名称。
原因:服务器无法执行引用无效 <架构>的 SQL 语句。<对象> 名称。

操作:请验证 SQL 语句中指定的对象名称。 请检查连接信息,以确保默认限定符值与其中对象已编入目录的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。
42703 -206 <name> 在使用它的上下文中无效

列 <名> 不在指定表中。

<name> 在使用它的上下文中无效。
原因:服务器无法执行如下 SQL 语句:指定的列名既不是源或目标表的列,也不是引用了该语句的视图的列。

操作:请通过查询系统目录(例如 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 在<当前路径中找不到具有兼容参数的名称<的例程>类型>

找不到具有指定名称和兼容参数的例程。

找不到具有兼容参数的名为 routine-name>> 类型的<授权<例程。
原因:服务器无法执行包含错误数量的参数、无效参数数据类型或引用无效 <架构>的 SQL CALL 语句。<对象> 名称。

操作:请验证参数数目。 检查参数数据类型。 验证 SQL 语句中指定的对象名称。 检查连接信息,确保默认限定符的值与其中对象已编入目录的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。
24501 -501 FETCH 或 CLOSE 语句中的已识别游标未打开。

游标 <名称> 未打开。

FETCH 语句或 CLOSE 语句中指定的游标未打开,或游标标量函数引用中的游标变量未打开。
原因:服务器无法执行这样的 SQL SELECT 或 CALL 语句:需要 FETCH 或 CLOSE 的 CURSOR 未处于打开状态。

验证应用程序是否发出了 COMMIT 或 ROLLBACK 命令,该命令可能会关闭游标。 检查以前接收到的返回消息中是否指示服务器根据系统事件(例如 SQLCODE -404、-652、-679、-802、-901、-904、-909、-910、-911、-913 或 -952)自动关闭了游标。 验证连接信息,确保在使用某些一般使用者(包括 SQL Server Integration Services 和分布式查询处理器)以及使用远程工作单元事务时,AutoCommit 选项指定为 True。 有关详细信息,请参阅有关 AutoCommit 的主题。
42501 -551 无权访问对象。

无权在 resource-name 类型 <resource-type>> 中<对象<对象名称>。

<authorization-ID> 没有对对象<对象名称>执行操作<>所需的授权或特权。
原因:服务器无法执行具备以下特性的 SQL SELECT 或 CALL 语句:需要存储在当前用户无权访问的静态 SQL 程序包中的 CURSOR 语句。 客户端依靠 DB2 静态 SQL 程序包内的多个部分中的预定义 SQL 语句来支持 SQL SELECT 语句的执行。 默认情况下,如果运行时用户对程序包集合连接属性中指定的 DB2 集合具有程序包绑定、执行和授予权限,则客户端会自动定义包。

操作:请验证连接信息,以确保程序包集合值与 DB2 集合(其中定义了 HIS 2010 程序包以便当前用户标识符或 PUBLIC 执行)匹配。 使用数据访问工具、数据源向导、数据链接或数据访问库手动创建 HIS 2010 程序包,以便当前用户 ID 或 PUBLIC 执行。 使用有权自动创建 HIS 2010 程序包(创建、绑定和执行权限)的授权 ID 连接到 DB2。 有关详细信息,请参阅有关程序包集合的主题。
42501

42602
-567

-567
<bind-type> AUTHORIZATION ERROR USING <auth-id> AUTHORITY PACKAGE = <package-name> PRIVILEGE = <privilege>.

不允许使用授权名称 &1。

<authorization-ID> 不是有效的授权 ID。
原因:在用户帐户无权创建或执行所需的 DB2 程序包时,服务器无法执行 SQL SELECT 语句。

操作:请验证连接信息,以确保程序包集合值与 DB2 集合(其中定义了 HIS 2010 程序包以便当前用户标识符或 PUBLIC 执行)匹配。 使用数据访问工具、数据源向导、数据链接或数据访问库手动创建 HIS 2010 程序包,以便当前用户 ID 或 PUBLIC 执行。 使用有权自动创建 HIS 2010 程序包(创建、绑定和执行权限)的授权 ID 连接到 DB2。 有关详细信息,请参阅有关程序包集合的主题。
42710 -601 要定义的对象的 NAME (VERSION 或 VOLUME SERIAL NUMBER) ,或者 RENAME 语句的目标与 OBJECT TYPE object-type <) object-name>> 的现有名称 (VERSION 或 VOLUME SERIAL NUMBER <相同。

<架构>类型<类型>中的 <name> 已存在。

要创建的对象的名称与类型<类型的>现有名称<名称>相同。
原因:在该名称已被同一类型的另一个对象使用时,服务器无法命名该对象。

操作:请独一无二地命名该对象,不要与现有数据库对象同名。
42721 -725 在位置<位置>提供的特殊寄存器<寄存器>的值无效 原因:在 SET CURRENT SQLID 语句包含用户标识符或集合名称的无效值时,服务器无法处理该语句。

操作:请验证连接信息,以确保默认限定符值与其中对象已编入目录的 DB2 集合匹配。 有关详细信息,请参阅有关默认限定符的主题。
23505 -803 插入或更新的值无效,因为索引空间 <indexspace-name> 中的索引约束表的列,因此这些列中没有两行可以包含重复值。 RID OF EXISTING ROW IS X <行标识符>

指定了重复的键值。

由 DELETE 语句引起的 INSERT 语句、UPDATE 语句或外键更新中的一个或多个值无效,因为 index-id> 标识<的主键、唯一约束或唯一索引会约束表<名称>具有索引键的重复值。
原因:服务器无法针对受 UNIQUE INDEX(该语句会导致值重复)约束的表执行 INSERT 或 UPDATE 语句。

操作:请通过查询系统目录(例如 SYSIBM.SYSINDEXES)或执行客户端架构查询(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_INDEXES) 或 ADO.NET MsDb2Connection.GetSchema(Indexes))来验证数据值是否违反了限制。
51002 -805 DBRM 或包名称 <location-name>。<collection-id>。<dbrmname>。<在 PLAN <plan-name> 中找不到 consistency-token>。 >原因<。

在 DRDA 服务器上找不到 collection-name 中的 <SQL 包<包>名称>。

找不到包 <包名称> 。
原因:服务器找不到 DB2 客户端执行动态 SQL SELECT 语句所需的 DB2 静态 SQL 程序包。

操作:验证连接信息,确保包集合值与 DB2 集合(其中定义了 HIS 2010 包以便当前用户 ID 或 PUBLIC 执行)匹配。 有关详细信息,请参阅有关程序包集合的主题。
58004 -901 由系统错误导致的执行失败不会妨碍后续 SQL 语句的成功执行。

SQL 系统错误。

由于发生了非严重系统错误,SQL 语句执行失败。 可以处理后续的 SQL 语句。 (原因<>。)
原因:服务器无法执行当前的 SQL 语句,但后续的 SQL 语句可以继续执行。 此错误可能由分布式工作单元内的事务提交失败所致,或者由于约定或 SQL 语句中包含无效的长度(0 或超出最大长度)而导致的更新失败所致。

操作:在有原因代码的情况下,用户应检查原因代码,以确定是否需要进一步的用户或管理员操作,并确定如何通过修改应用程序、事务或命令来避免错误。
57011 -904 资源不可用导致执行失败。 REASON <reason-code>、TYPE OF RESOURCE-type>< 和 RESOURCE NAME <resource-name>。

超出了资源限制。

由于资源不可用导致执行失败。 原因代码: <reason-code>,资源类型: <resource-type>,资源名称: <resource-name>。
原因:服务器无法执行 SQL 语句,因为语句的对象不可用。

操作:请验证对象和数据库是否可用,并且是否未处于死锁、脱机或其他不可用状态。
57033 -913 死锁或超时导致执行失败。 REASON CODE <reason-code>、TYPE OF RESOURCE-type>< 和 RESOURCE NAME <resource-name>。

正在使用的资源名称类型 <resource-type>> 中的<行或对象 <object-name>。

由于出现死锁或超时导致执行失败。 原因代码 <reason-code>。
原因:服务器无法执行 SQL 语句,因为语句的对象不可用。

操作:请验证对象和数据库是否可用,并且是否未处于死锁、脱机或其他不可用状态。 提交或回滚上一个操作,然后断开与数据库的连接。 检查服务器的原因代码以获取有关对象状态的详细信息(例如 DB2 for z/OS 原因代码 00C90088 指示发生死锁,而 00C9008E 指示发生超时)。