达梦导入数据PE_ContentManage_Article,报-70026 非法的函数调用序列

来源:本站原创 点击数: 次 发布时间:2026年11月10日

改用 FAST_LOAD=Y 整库重导后,日志是“成功导入,没有出现警告”。 

为什么常规导入会抛出 -70026?

  1. ODBC/CLI 接口的游标与分片传输冲突: 常规 dimp 底层使用的是达梦的客户端 API / OCI / ODBC 接口。当表包含超长 TEXT(CLOB)时,驱动程序会切入分片读写(Piecewise Operations)机制(类似 SQLPutData / dm_write_lob)。在这个过程中,如果网络包延迟、游标未能及时重置,或者在上一片大字段还没传输/确认完毕就尝试绑定下一行/下一列,底层驱动就会直接抛出 -70026: 非法的函数调用序列。

  2. 静默截断与“成功终止,出现警告”: 达梦客户端遇到这类非致命系统崩溃的单行/单批异常时,默认会捕获警告并跳过后续操作或尝试恢复游标,导致整张表的数据装载流程提前终止。因此客户端最终只报“出现 3 个警告”,而业务表实际严重漏数(16233 行只进了 58 行)。

FAST_LOAD=Y 为什么能解决?

FAST_LOAD=Y 直接切换为 dmfldr 直写通道:

  • 绕过了有状态的客户端 SQL/CLI 协议层与逐行 API 交互;

  • 大对象数据由数据文件直接切块装载进数据页,不再存在应用层游标状态混乱的问题;