Crystal Report7+VB6通过ODBC连接Informix时报错20609:创建数据源失败
Crystal报表迁移Informix后VB6错误20609解决办法
核心排查方向及修复步骤
- 报表表映射未同步
打开Rpt3.rpt,通过Database > Set Datasource Location工具,将旧Access数据源下的所有表,逐个映射到Informix数据源的新表名上,确保每个字段的关联完全匹配。仅用Add/Remove数据库操作无法处理表名变更后的字段映射问题。 - 连接字符串优化
Informix ODBC连接中,若DSN已配置数据库信息,可移除Database=rbtt参数,调整连接语句:
注意参数间无多余空格,避免格式错误。CrystalReport1.Connect = "DSN=" & DSN & ";UID=" & remlog & ";PWD=" & rempass & ";Persist Security Info=False" - SQL查询与报表结构匹配验证
检查变量sql返回的字段名、数量、大小写(Informix大小写敏感)是否与报表设计中的字段完全一致,确保查询结果能被报表正确识别。 - 数据源有效性验证
打开ODBC数据源管理器,测试目标DSN的连接,确认用户名、密码、服务器IP、数据库配置均正确;同时确保Informix ODBC驱动版本与Crystal Reports兼容。 - 报表结构校验
在报表设计器中执行Database > Verify Database,让Crystal Reports重新校验数据源结构,自动修复字段关联或表结构变更导致的错误。 - 代码执行顺序调整
将CrystalReport1.SQLQuery = sql语句移至CrystalReport1.Connect赋值之后,确保先完成数据源连接配置,再设置自定义查询。
前置验证建议
先在Crystal Reports设计器中直接预览报表,确认能正常连接Informix并加载数据,排除报表本身的配置问题;若设计器预览正常,可输出VB6代码中Connect和sql的实际值,排查参数拼写或格式错误。
内容的提问来源于stack exchange,提问作者Gaurav Chodnekar
相关产品推荐
相关产品推荐

