博尔杰PTS - 工业标签标识打印整体解决方案
首页 > 技术支持 > Codesoft 序列号不递增与数据库字段错乱排查

Codesoft 序列号不递增与数据库字段错乱排查

Codesoft(TEKLYNX 出品的标签设计与打印软件)在工业标签打印场景中使用很广,通常通过 Windows 驱动或原生指令与斑马 Zebra、佐藤 SATO、TSC 等工业标签打印机配合。日常使用中反馈最多的三类问题是:序列号不递增或重复打印同一号码从 Excel / ODBC 数据库读入的字段与标签位置对不上中文显示为方框或乱码。这三类现象绝大多数不是打印机硬件故障,而是数据源连接方式、字段映射绑定、序列号重置条件与字体编码这四类设置引起的。本文按「现象 → 原因 → 步骤」给出排查顺序,覆盖软件设置、数据源连接、编码处理与按打印机语言区分的处理差异。

工业标签打印机(佐藤 SATO CL4NX Plus 203DPI)真实产品图

图示为工业标签打印机(SATO 佐藤 CL4NX Plus 203DPI),用于说明驱动打印与原生指令打印的连接差异

一、先分清三类现象,再决定排查入口

  • 序列号问题:每一张都是同一个号码、跳号、换模板后编号从 1 重新开始。属于「序列号对象属性 + 数据源优先级」范畴。
  • 字段问题:标签内容与数据库列不对应、整批都打第一行、末尾出现空白标签。属于「数据源连接 + 字段绑定 + 记录指针」范畴。
  • 编码问题:中文变方框、问号或乱码,而英文与数字正常。属于「字体 + 编码页」范畴。

三类问题的排查顺序不要颠倒:编码问题优先在软件端解决,字段问题优先查数据源,序列号问题优先查对象属性。混在一起改,很容易把原本正确的一项也改坏。

二、序列号不递增、重复打印同一号码的排查步骤

  1. 选中标签上的序列号对象,打开「属性 → 数据源」,确认对象类型是序列号(Serial Number)而不是普通文本。普通文本对象不会自动递增,这是重复打印最常见的原因。
  2. 在该对象的递增设置里确认递增步长与最大值。步长被设为 0 时,每一次打印都会输出同一个号码。
  3. 确认递增的重置条件。按打印份数重置、按数据记录重置、按作业重置三种模式结果完全不同;批量打印时如果选成按份重置,就会出现整批重复同一个号码。
  4. 如果序列号由数据库字段提供,检查数据源优先级。当模板里同时存在数据库字段与软件内部计数器时,以最终绑定的数据源为准,内部计数器可能被数据库字段覆盖,表现为「设置了递增却不递增」。
  5. 排查重复打印来源:先清空 Windows 打印队列,确认没有暂停后又恢复的残留任务;软件内使用打印预览不消耗计数器,而选择打印到文件会占用计数器,容易造成跳号。
  6. 用最小数据集(2~3 条记录)做一次测试打印,确认递增方向与连续性正确,再恢复正式数据源。这一步能快速区分是模板设置问题还是数据源问题。

三、数据库字段对不上、整批打同一行的排查步骤

  1. 先确认数据源类型:Excel / CSV 属于文件型数据源,ODBC 属于驱动型数据源。文件型数据源建议先把 Excel 另存为 CSV,并关闭 Excel 后再连接,否则连接读到的是打开时的缓存副本。
  2. 检查 ODBC 数据源的位数与软件位数是否一致:64 位软件只能看到 64 位 ODBC 数据源,32 位只能看到 32 位的。位数不匹配时,软件要么列不出数据源,要么读到一张空表。
  3. 核对字段绑定方式与列标题。字段绑定通常支持按列标题、字段名或列序号三种方式之一;列标题里含空格、换行、合并单元格时绑定会失效或整体错位,建议标题行只保留纯文本、单行、不合并。
  4. 检查记录指针是否推进。如果每次打印都输出数据库第一行,通常是打印任务没有按「每份一条记录」推进,而是固定读取第一条;在打印设置里确认记录选择范围与打印份数的对应关系。
  5. CSV 数据源要确认分隔符与文本限定符:逗号与分号混用、字段内容本身含逗号却未用引号包裹,会整体错位一列,表现就是「字段对不上」。
  6. 处理空行与尾行:数据区内部的空行会造成空白标签或编号跳号;导入前清理空行,并确认软件是按有效记录数还是按文件行数计数。
  7. 改动数据源路径后,模板内保存的是绝对路径。共享模板在多台电脑上使用时路径不一致会导致字段全部为空,建议把数据源放在统一路径,或改用相对路径。

四、中文乱码、显示为方框的排查步骤

  1. 先判断乱码发生在哪一层:软件编辑界面就已经乱了,问题在数据源编码;编辑界面正常、打印出来才乱,问题在字体或打印机编码页。
  2. 数据源编码:Excel 另存为 CSV 时如果选择 CSV UTF-8,而软件按 GB18030 / GBK 解析,中文就会乱码。建议统一为一种编码,并在导入时选择对应编码。
  3. 字体:确认标签上中文对象使用的字体在本机确实存在(如宋体、黑体、微软雅黑)。模板在另一台电脑打开时字体缺失会回退为默认字体,出现方框或字宽变化。
  4. 打印机编码页:使用驱动打印时编码转换由驱动完成,兼容性最好;使用原生指令打印时,打印机自身的编码页必须与软件发送的编码一致,中文字符需在软件中设置对应编码页,或使用打印机自带中文字库。
  5. 固化验证:改完编码与字体后,先打印一张同时包含中文、数字、条码的最小测试标签,三部分都正常再恢复正式模板。

五、按打印机语言区分的处理差异

同一份模板在不同品牌打印机上表现不同,根因是打印方式不同:

  • 驱动打印:由 Windows 驱动把图形与文字栅格化后发送,编码与字体由软件和驱动共同处理,兼容性最好,打印速度略慢。
  • 原生指令打印:由软件直接生成打印机指令(如斑马 Zebra 的 ZPL、佐藤 SATO 的 SBPL、TSC 的 TSPL),速度快,可调用打印机内部字体与计数器。此时若软件中选定的打印机语言与实际机型不一致,就会出现字段错位、中文乱码、序列号不生效等现象。
  • 更换打印机品牌时,先确认软件中选定的打印机语言与机型匹配,再重新做一次字段绑定与编码测试,不要直接沿用旧模板输出正式标签。

六、修改前的一次性核对清单

  • 模板已备份(另存为带日期的副本)。
  • 数据源路径固定、文件未被 Excel 占用、列标题单行且无合并单元格。
  • ODBC 数据源的位数与软件位数一致。
  • 序列号对象的递增步长、最大值、重置条件已逐项确认。
  • 最小数据集(2~3 条)测试通过后再切换到正式数据源。

七、日常预防建议

  • 把「数据源 + 模板 + 打印机型号与语言」作为一组配置一起备份,只备份模板会导致换机后字段全部为空。
  • 批量打印前先用 3~5 条记录试打,重点检查首条、末条与中文内容,确认无误再整批输出。
  • 需要复核条码可读性时,可参照 ISO/IEC 15416 的条码质量分级方法做抽检;序列号重号与字段错位这类问题,往往在抽检环节最先暴露。

常见问题

1. 每一张都打同一个序列号,是打印机坏了吗?

不是打印机故障。最常见的原因是标签上放的是普通文本对象而不是序列号对象,或者序列号对象的递增步长被设为 0;另外重置条件如果设为按份重置,也会让整批输出同一个号码。按第二节的顺序检查对象属性即可定位。

2. 数据库里明明有几百条记录,为什么只打出几十张?

先确认软件的记录选择范围是否被限制(例如设置了起始与结束记录),再确认打印份数与记录数的对应关系。CSV 数据源中段存在空行时,软件可能按有效记录计数,也可能提前结束,建议先清理空行再导入。

3. 中文在编辑界面正常,打印出来是方框或乱码,怎么处理?

这说明数据源编码没有问题,问题在字体或打印机编码页。检查标签上所用中文字体在本机是否安装完整,并把打印机编码页设置为与软件一致;若使用原生指令打印,还需确认软件中设置的打印机语言与该机型匹配。

4. 换了电脑打开同一个模板,字段全空了,是什么原因?

模板内保存的数据源路径是绝对路径。新电脑上路径不同、或 ODBC 数据源未创建,字段就会全部为空。解决方法是把数据源放到统一路径,或在该电脑上重新创建同名的 ODBC 数据源。

5. 用 Excel 做数据源,为什么总是读到旧数据?

Excel 文件被占用时,连接读取的是打开时的缓存副本。修改数据后需要先关闭 Excel 再打印;如果仍然读到旧数据,可把文件另存为 CSV 后改用文件型数据源,稳定性更好。

6. 序列号中间断了一号,是软件计数错了吗?

常见原因是测试时选择了打印到文件,或任务中途被取消,计数器已经消耗;另外打印队列里残留的任务被恢复后会重打一次。排查时先清空打印队列,再用最小数据集验证递增是否连续。

更多标签软件与打印机的使用问题,可查看 软件分类支持文章全部支持文章;如需了解设备与耗材的配套方案,可参考 产品方案栏目。文中涉及的机型与规格以各产品页标注为准。

« 返回列表
博尔杰PTS|博尔杰标识商城|博盾安全标识|博锐迪生物标签