news 2026/9/18 18:30:17

Cadence CIS连不上数据库?32位ODBC驱动与DSN配置全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cadence CIS连不上数据库?32位ODBC驱动与DSN配置全解析

Cadence 17.2配置CIS数据库报错?手把手解决ODBC驱动位数不匹配问题

折腾了一下午,CIS数据库始终连不上,报错对话框弹出来那一刻,我差点把工作站砸了。后来发现问题的根源不在Cadence,也不在SQL Server,而是两个odbcad32.exe之间隔了一道看不见的墙。

先说结论:Cadence 17.2的CIS(Component Information System,元器件信息系统)模块走的是32位ODBC通道,而你大概率在64位系统DSN里建了数据源,或者装了64位的SQL Server ODBC驱动。位数对不上,Capture CIS就连不上库,报错五花八门,从“找不到数据源”到“命名管道提供程序无法打开”,本质都是同一个问题。

这篇文章写给正在被CIS数据库配置折磨的硬件工程师、PCB设计工程师,以及所有在Cadence 17.2/17.4里搭元器件库的人。我会从ODBC位数机制的底层原理讲起,完整还原我当时的排查过程,再给出从创建数据源到Capture.ini配置的整套可落地步骤。

1. 先说清楚CIS到底怎么连数据库:ODBC在里面扮演什么角色

很多人在Cadence里第一次接触CIS时,脑子里是懵的:原理图工具为什么要连数据库?数据库里存的又是什么?这里花两分钟把链路讲透,后面配置起来你才知道每一步在干什么。

1.1 CIS体系的存取链路:原理图库、封装库、数据库三位一体

CIS的核心逻辑是把元器件属性(位号、Value、封装名、厂商、料号、价格、生命周期状态等)统一放在外部数据库里。你在Capture原理图里放置元件时,CIS会通过“数据库文件”去查询这些属性,批量带出BOM需要的所有信息,并且和原理图库符号、PCB封装库三者联动。

链条是这样的:

  • Cadence Capture CIS → 读取ODBC数据源 → 连接SQL Server/MySQL/Access/ Oracle等数据库 → 返回元器件记录
  • 同时Cadence还要负责把数据库里的“PCB Footprint”字段和本地的封装库文件对应起来
  • Capture原理图符号(.olb)里的引脚定义和数据库里的Part Number也要能对上

也就是说,ODBC只是这条路的第一公里,但这第一公里不通,后面全是白搭。最坑的是,这条链路上的每一步都有各自的“位数”要求,错一步就报一步的错。

1.2 为什么偏偏是ODBC:CIS的查询机制决定了它绕不开这一层

我见过不少人问:为什么不用原生驱动直接连?答案很简单,Cadence CIS的架构是十几年前定下来的,那时候微软的通用数据访问方案就是ODBC。Cadence只需要实现一套符合ODBC规范的接口调用,让用户自己去配驱动,就能兼容SQL Server、Oracle、MySQL、Access等几乎所有主流数据库。

这个设计本身很聪明,但问题也随之而来:ODBC体系里,驱动管理器、驱动、数据源这三者都有位数属性。Cadence 17.2的Capture.exe是32位进程,它调用ODBC时只会寻找32位驱动管理器(C:\Windows\SysWOW64\odbcad32.exe)和32位的数据库驱动。如果你在64位管理工具里建了数据源(C:\Windows\System32\odbcad32.exe),两边根本不在一个注册表视图里,Capture当然找不到。

这个“两层odbcad32.exe”的机制,就是无数CIS配置翻车的第一个坑。Windows为了让32位和64位程序共存,把ODBC配置信息分两个注册表视图存储,System32里的odbcad32.exe管理64位视图,SysWOW64里的管理32位视图。你在系统ODBC里看到的数据源列表,其实只是其中一面墙上的名单。

1.3 用一张对照表看透报错根源

下面这张表是我整理的ODBC使用场景对照,搞不清位数报错时回来对一下,能省很多时间:

操作场景应该使用的odbcad32.exe注册表视图典型现象
64位应用程序连接数据库C:\Windows\System32\odbcad32.exe64位正常
32位应用程序连接数据库(Cadence属于此类)C:\Windows\SysWOW64\odbcad32.exe32位Capture CIS报“找不到数据源”
64位系统DSN配置完成后,在Capture里链接必须是32位视图32位报“驱动不匹配/无法加载驱动”
SQL Server ODBC驱动装了64位版,想给Cadence用不可用32位报错提示“[Microsoft][ODBC Driver Manager]未发现数据源名称并且未指定默认驱动程序”

当时我头铁,一直在64位视图里反复配置,还在SQL Server的驱动列表里翻来翻去找版本号,完全没意识到Capture进程是32位这一事实。直到我打开任务管理器确认了Capture.exe的运行路径和位数,又用Process Monitor追了一次它的ODBC调用,才把真相挖出来。

2. 排查实录:我的CIS连接报错全过程,以及对症分析

这一节完全是我当时的实际操作记录。我把过程按阶段拆开,每个阶段对应一类高频报错,你可以直接对照自己的症状跳着看。

2.1 第一阶段:Capture CIS里点了“Link Database”,弹出“初始化失败”

我的环境:Cadence 17.2(Allegro Design Entry CIS),SQL Server 2019,Windows 10 专业版 64位。数据库是DBA帮我建好的,里面已经导入了一份物料表。

进入Capture CIS界面后,菜单栏选择Options → CIS Configuration,弹出CIS配置文件选择窗口,我选中了自己事先准备的配置文件,然后点击“Link Database”。结果弹窗直接给我来了一句“Failed to initialize database link”。

这个报错太抽象了,几乎没有信息量。我的第一反应是配置文件(.dbc/.ini)写错了,于是反反复复检查Capture.ini里每一行参数,检查数据源名称(DSN)字符串大小写,折腾了一个小时,问题依然如故。

转机出现在我尝试做一次“数据库连通性自检”——在Windows“控制面板 → 管理工具 → ODBC数据源(64位)”里点击“测试连接”,系统提示“连接成功”。我当时就更迷惑了:数据库明明能通,为什么Cadence连不上?

症结分析:数据库本身没有问题,64位视图下连通性正常。但Capture是32位进程,它请求ODBC驱动管理器加载的是32位驱动,而系统中根本没有可用的32位SQL Server ODBC驱动,或者有驱动但没有对应的32位DSN,于是初始化直接失败。

2.2 第二阶段:换了一个配置文件,报“[08001] [Microsoft][ODBC Driver 18 for SQL Server]命名管道提供程序: 无法打开”

我在验证“数据源是否存在”的时候,又踩了一个更具体的坑。当时我想,是不是配置文件里的DSN名不对?于是我在配置里把DSN从自定义名字改成了“SQLServer”(这是我64位视图里建的数据源名),再次Link Database。

这次报错信息变成了:

[08001] [Microsoft][ODBC Driver 18 for SQL Server]命名管道提供程序: 无法打开与SQL Server的连接

看到这个错误,我第一反应是网络问题,或者SQL Server没开命名管道协议。我跑到SQL Server配置管理器里检查,TCP/IP已启用、命名管道已启用、服务也跑着,没有任何异常。而且用64位ODBC测连接是通的,说明数据库服务完全正常。

后来查了一通资料才明白:这个错误信息其实是“驱动已经尝试连线但连不上”的结果。因为我用的是64位DSN名,32位的Cadence通过32位驱动管理器查找这个DSN时,看到的是32位视图里不存在这个名字,在某些情况下系统会退回到默认的驱动参数尝试连接,结果把TCP/IP连接方式解析成了命名管道,然后一路撞墙。

症结分析:这个报错的迷惑性极强,因为它看起来像网络/协议问题,但本质是DSN在32位环境里根本没注册,或者DSN里配置的驱动在32位环境里找不到,导致连接字符串被拼错。

2.3 第三阶段:装完32位SQL Server驱动后,又出现“未发现数据源名称并且未指定默认驱动程序”

查清楚位数问题是根源之后,我去微软官网下载了SQL Server ODBC Driver 18,然后注意看安装选项——安装包默认安装64位,在安装界面第二步有一个“Install ODBC Driver for SQL Server (32-bit)”的复选框,我把32位和64位都勾上,装完重启。

结果再试,出现的新报错是:“ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified”。

这时候我的状态已经从烦躁变成冷静了:这说明我装的32位驱动已经被系统识别了(错误信息里出现了ODBC Driver Manager),但系统找不到我配置的DSN。所以问题聚焦在“DSN只在64位视图里建了,32位视图里没建”。

症结分析:驱动齐了,但数据源(DSN)还没有在32位环境里创建。Cadence用的是DSN(数据源名称)来找数据库,不是直接用连接字符串。DSN是存放在注册表特定位置的配置项,32位和64位的数据源列表是隔离的,必须用32位odbcad32.exe才能在这个隔离区里写入。

2.4 排查方法论总结:用最小链路法锁定位数问题

复盘整个排查过程,我发现最有用的不是某一条报错信息的字面意思,而是一套“最小链路验证法”。这条链路是:

  1. 数据库服务器能否Ping通?(网络层)
  2. SQL Server服务是否启动?TCP/IP是否启用?(服务层)
  3. 用64位ODBC测试连接是否成功?(64位驱动层)
  4. 用32位ODBC测试连接是否成功?(32位驱动层)
  5. Cadence Capture能否通过32位ODBC找到DSN?(应用层)

分成五步之后,问题定位就快得多。因为第3步通了、第4步没通,那针对性就非常明确:不是数据库的问题,是驱动管理器和DSN的问题。

我在后续给其他同事排查CIS连接问题时,也是按这个链路逐层测。99%的连接类报错,根源都出在第3步和第4步之间的某个环节。

3. 手把手配置:从32位ODBC数据源到Capture.ini全部细节

既然定位到位数,那就好办了。下面是我的完整配置过程。这个流程在Windows 10/11、Cadence 17.2/17.4上都验证过,照着做基本不会出错。

3.1 第一步:确认Cadence进程位数,再决定用哪个odbcad32.exe

很多人一上来就直接去“控制面板 → 管理和工具 → ODBC数据源”操作,这是不对的。Win10/11的系统管理工具里那个ODBC快捷方式,默认打开的是64位版本的odbcad32.exe。如果你要用64位,这没错;但如果像Cadence Capture这种32位程序要用,就必须去SysWOW64目录下手动打开。

打开方式很简单:Win+R,输入C:\Windows\SysWOW64\odbcad32.exe,回车。窗口打开后左上角标题会显示“ODBC数据源管理器(32位)”。

注意:同一台机器上,C:\Windows\System32\odbcad32.exeC:\Windows\SysWOW64\odbcad32.exe是两个完全不同的管理界面,虽然长得几乎一模一样,但操作的数据源列表完全不同。32位的odbcad32.exe显示的才是Cadence能看到的DSN。

3.2 第二步:确认/安装32位SQL Server ODBC驱动

如果系统里已经装了SQL Server ODBC Driver,但不确定是否包含32位,可以看控制面板的“程序和功能”列表。微软的SQL Server ODBC Driver安装包会分别列出“SQL Server ODBC Driver 18”和“SQL Server ODBC Driver 18 (32-bit)”两个条目,或者一个条目但在安装选项里有位数选项。

如果我用的不是SQL Server,而是MySQL,那就是MySQL Connector/ODBC,安装时同样注意32位版本。原理完全一致,后面配置DSN时只是驱动名称不同。

我当时用SQL Server,最终确定有效的驱动名是“ODBC Driver 18 for SQL Server”。注意:Windows自带的“SQL Server”驱动通常只有64位版本,或者版本很旧(SQL Server Native Client 11.0之类),尽量用微软官方发布的新版ODBC Driver。

这里额外提醒一句:SQL Server ODBC Driver 18刚装完,默认会开启加密连接选项,如果数据库端没配置好证书,连接时可能还会报证书相关错误。最简单的方式是在DSN里把Encrypt选项设为No(下文会写),或者使用旧版驱动(如ODBC Driver 13/17)避开加密手坑。

3.3 第三步:在32位ODBC管理器中创建系统DSN

打开32位odbcad32.exe后,切到“系统DSN”标签页。系统DSN和用户DSN的区别在于:用户DSN只对当前Windows用户生效,系统DSN对所有用户生效。Cadence服务如果用系统账号或共享方式跑,建议用系统DSN。

点击“添加”按钮,在驱动列表里选择“ODBC Driver 18 for SQL Server”(或你实际安装的版本),点击“完成”。

接下来是关键的配置步骤:

  1. 名称(Name):这里是我习惯的命名方式,比如“CIS_SQL”,这个名字之后要原封不动填进Capture.ini里,建议用纯英文和下划线,不要加空格、不要加中文,避免某些环节编码解析出问题。
  2. 描述(Description):可填可不填,建议填上“Cadence CIS Database”,方便以后识别。
  3. 服务器(Server):填写SQL Server的实例名。本地库填localhost.都行;远程库填IP或者主机名,比如192.168.1.100。如果有命名实例,格式是主机名\实例名
  4. 身份验证方式:这是最需要谨慎的部分,我放在下一节单独说。

填写完服务器后,先不要急着配置数据库名,把“更改默认数据库为”勾上,然后从下拉列表里选择你CIS用的那个库(比如CISDB),这样每次连接就不用再手动切库。然后点“完成”。

回到系统DSN列表后,选中刚才创建的那个DSN,点击“配置”,可以再次进入设置界面;点击“测试连接”,如果前面步骤没出错,这时应该会提示“测试成功”。

3.4 第四步:SQL Server身份验证的安全性处理

Cadence CIS连接SQL Server时,常见的身份验证模式有两种:

  • Windows身份验证:DSN配置里选择“使用Windows NT身份验证(集成验证方式)”。这种方式无需在DSN里保存密码,但要求Cadence所在Windows用户对SQL Server有登录权限。域环境下最方便,但如果你用的是本地账号,SQL Server也得配置对应的本地登录名。
  • SQL Server身份验证:DSN里选择“使用用户输入的登录ID和密码的SQL Server验证”,并输入有权限访问CIS数据库的登录名和密码。这种方式配置简单、跨机器可移植,但密码会以加密形式存在注册表里。

我实际项目里更推荐SQL Server身份验证,单独建一个只读账号给CIS用。这样就算别人拿到你机器权限,也只是只读数据库,不会误改物料属性。配置SQL Server登录账号时,不要给sa这类超级账号,给个普通账号,映射到CIS数据库,赋予db_datareader角色就够用。

在DSN里勾选“保存密码”时,系统会弹一个“数据源密码保存”的对话框,这里选“确定”即可。密码会加密存储在Windows凭据管理器里。

完成这一步后,再次回到32位ODBC的管理器,选中DSN,点“测试连接”,看到了“测试成功”的话,数据源这一层就彻底通了。

3.5 第五步:配置CIS数据库配置文件(Capture.ini与ODBC关联)

Cadence CIS的配置文件是文本格式的.ini文件。配置过程如下:

  1. 先准备好一个数据库描述文件(通常叫Capture.ini,但实际文件名叫什么无所谓,关键是内容格式)。
  2. 在Capture CIS里,选择Options → CIS Configuration
  3. 在弹出的对话框里选择刚才准备好的配置文件,然后“确定”。
  4. 然后再点“Link Database”。

Capture.ini里和ODBC/数据库连接相关的核心配置如下:

[CIS] CIS_DBC_FILE=C:\CadenceDB\cis_dbc_file.dbc CIS_ODBC_DSN=CIS_SQL CIS_ODBC_UID=cis_readonly CIS_ODBC_PWD=你的密码 CIS_DESC=My CAD Library DB CIS_ICD_FILE=C:\CadenceDB\cadence_icd_file.icd ; 注意:上面CIS_ODBC_DSN要和你32位ODBC里创建的DSN名完全一致 ; CIS_ODBC_UID和CIS_ODBC_PWD是针对SQL Server身份验证模式

补充说明一下CIS_DBC_FILE这个字段:DBC文件是数据库配置描述文件,它不是数据库本身,而是告诉Cadence“你连哪个数据源、用哪个表、字段怎么映射”的配置文件。DBC文件可以由Capture自动生成,也可以手工编辑。第一次使用建议在CIS Configuration里选择“New”让软件帮你生成一个,然后再手动补充字段映射,比从零手写容错率更高。

ICD文件是实例化配置文件,如果你用了CIS的Advanced配置(比如多库关联、层级库),需要指定ICD文件路径。基础单库连接时,这个字段填不填影响不大。

3.6 第六步:DBC文件里还必须正确指定ODBC信息

前面说到的DBC文件,其实比.ini的内容更重要。这个文件保存的是数据库连接层的最终信息。我踩过的坑就是.ini填对了,结果DBC里还是旧的数据源名,导致连的始终是另一个库。

用记事本打开DBC文件,你能看到类似这样的段落:

[Connection] Datasource=CIS_SQL Description=CIS Database HoldConn=True ; Datasource后面的名字必须与ODBC DSN完全一致

如果这里填的是别的名字,Cadence会尝试用这个名字去32位ODBC管理器里查找,找不到就报数据源错误。所以养成一个习惯:改配置前,先打开32位ODBC管理器,看一眼系统DSN列表里实际存在的名字,然后原样复制过去,不要手打。

3.7 完整配置步骤对照表

为了方便你快速落地,我把整个配置流程整理成一个对照表,你可以打印出来贴在工作站旁边:

步骤操作内容关键校验点报错对应
1安装数据库驱动(注意32位版)控制面板里能看到带(32-bit)的驱动条目找不到驱动管理器
2用SysWOW64\odbcad32.exe创建系统DSN测试连接成功测试失败/驱动加载失败
3修改Capture.ini或DBC文件中的数据源名名字和DSN完全一致找不到数据源
4CIS Configuration选择配置并Link Database元器件列表能正常显示初始化失败
5测试放元件/BOM输出属性字段映射正确字段为空或报错字段

4. 数据库连接通了,但CIS里看不到元件?字段映射和关键配置避坑

有的朋友走到上一步,Link Database没有报错,但是数据库里明明有几千条物料记录,CIS窗口里却一片空白。这个现象通常不是连接问题,而是字段映射和Schema配置问题。

4.1 CIS Explorer里“空库”的四个检查方向

第一,检查数据库视图(View)或表名是否对。CIS连接的是表或视图,不是整个数据库。如果你的数据实际上存在v_CIS_Parts这个视图里,但DBC里配置的是t_CIS_Parts表,那查出来当然是空的。

第二,检查是否有过滤条件。有些公司的CIS库里会给元件加生命周期状态字段,比如“Preferred”“EOL”之类的,CIS配置里如果设置了过滤条件,比如只显示“Status=Active”,而库里所有物料都标记成了“Obsolete”,那查询结果当然为空。

第三,检查字段大小写和别名。SQL Server的字段名默认不区分大小写,但MySQL在Linux环境下是区分大小写的。CIS的字段映射如果和实际表字段名对不上,界面里就会显示空白单元格。

第四,关键中的关键——DBC文件里的“SQL查询”配置。CIS不是把整张表都拉下来显示,而是通过你配置的查询语句去数据库检索。查询条件写得太窄,或者表连接写得有问题,都会导致结果集为空。

4.2 Field Mapping的配置逻辑:一定要用数据库字段别名对齐

CIS显示的列名,来自DBC文件里的Field Mapping段。我建议在SQL Server的视图层就把字段别名定义好,这样CIS配置简单,后续维护也清晰。

比如SQL Server视图可以定义成这样:

CREATE VIEW v_CIS_Parts AS SELECT PartNumber AS [Part Number], Description AS [Description], Value AS [Value], Footprint AS [PCB Footprint], Manufacturer AS [Manufacturer], ManufacturerPartNumber AS [Mfr Part Number], LifecycleStatus AS [Lifecycle] FROM t_parts WHERE ActiveFlag = 1

然后在CIS的Field Mapping配置里,把“PCB Footprint”字段映射到数据库的Footprint列。这样放元件的时候,CIS会自动把你本地的封装名和数据库里的封装名对起来。

这一步要特别留意:原理图库符号的引脚数和PCB封装库的焊盘数必须一致。数据库里记录的封装名必须和本地封装库里的名称完全一致,包括大小写。CIS的封装联动是精确字符串匹配,不像人的眼睛那么智能。

4.3 CIS配置常见坑:ICD文件、范围命名和原理图库路径

再补充几个实际项目里同事问得最多的坑:

第一个,DBC和ICD文件之间的路径问题。如果你把CIS数据库配置文件放在网络共享路径下,Cadence解析相对路径时可能出问题。建议所有CIS相关文件统一放在一个本地固定目录里,比如C:\CadenceDB\,不要放在桌面路径嵌套很深的文件夹,尤其是路径里有中文或者空格(比如C:\Users\张三\Desktop\我的库),Cadence的某些版本解析这种路径会出幺蛾子。

第二个,原理图库路径设置。CIS从数据库带出Part Number之后,要在原理图里翻出对应的符号,靠的是Capture的库路径设置(Options → Design Template → Schematic → Library Settings),把CIS使用的原理图库(.olb文件)的完整路径加进去。不然数据库属性带出来了,元件符号却放不进去,会蹦出“Part not found in library”之类的错误。

第三个,变量和通配符的正确用法。字段映射的Value列是支持通配符的,比如电阻的Value可能是“10K”,但如果数据库里存的是“10KΩ 0603”,你需要在配置里做值映射或者用模糊匹配。CIS的查找功能是你可以配置的,记住:放元件时搜索的关键字在多列之间是AND关系,不是OR关系,这在习惯上需要注意。

5. 换驱动、换机器后必看的验证清单和几个长效心得

配置好CIS之后,不是一劳永逸。工程部门机器的环境各不相同,装新机、换电脑、重做系统后都可能再次翻车。这里分享一份我的长效验证清单和几个实战心得。

5.1 新机器/新环境部署CIS时的高频故障与对策

很多团队是IT统一部署Cadence,但CIS配置是工程师自己做的。这种模式下,最容易出现的三个问题:

  • IT给Cadence装了64位版本,把32位组件去掉了。Cadence 17.2完整安装包里本身包含32位组件,但某些“精简版”安装会把这部分裁掉,导致ODBC驱动装好了也调不起来。检查办法:看C:\Cadence\SPB_17.2\tools\bin\capture.exe这个文件属性里的位数信息。
  • 安装SQL Server ODBC驱动时漏选了32位选项。这个问题在上文的安装步骤里已经强调过,这里再提醒:装完驱动务必在“程序和功能”里核对,看有没有带“32-bit”字样的条目。
  • 系统DSN创建在了64位视图里。这是最高频的问题,没有之一。我自己给三个同事远程排查过,打开SysWOW64的odbcad32.exe后,系统DSN列表全是空的——他们在64位视图里辛苦建的数据源,Cadence根本看不到。

5.2 建议在部署时直接做好的三个固化动作

被CIS配置折磨多了之后,我总结出三个能让下次部署轻松十倍的习惯:

第一个:建立CIS配置标准化脚本。用批处理或PowerShell把DSN创建命令固化下来。SQL Server DSN可以用odbcconf.exe或注册表方式批量创建,比如用如下注册表内容:

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\CIS_SQL] "Driver"="C:\\Windows\\System32\\sqlncli11.dll" "Server"="SQLSERVER2019" "Database"="CISDB" "LastUser"="cis_readonly" "Trusted_Connection"="No"

注意路径里的WOW6432Node,这表示32位DSN的注册表映射位置。用这种方式,我可以在一台新机器上两分钟内创建好DSN,不用去点那些窗口。

第二个:把Capture.ini、DBC文件、ICD文件全部收进版本管理库。这些文本文件直接存Git或SVN都行,团队里每个人checkout一份,改配置有人留痕,出问题好回溯。CIS相关文件本质上就是配置代码,值得用代码的方式管理。

第三个:写一份团队内部“CIS配置自查清单”。每次换电脑照着走一遍,排查成本直接从半天降到15分钟。清单内容包括:驱动是否装全(32位/64位)、DSN是否创建在SysWOW64视图、Capture.ini里的DSN名是否一致、DBC文件路径是否存在、原理图库路径是否配置、封装库路径是否正确。

5.3 选择数据库驱动的策略:稳定比追新更重要

关于驱动版本的选择,我给一个明确建议:能用ODBC Driver 13/17就尽量不要用18。不是说18不好,而是18默认开启加密连接,对SQL Server的证书配置提出了新要求,很多企业的SQL Server是老版本或者云托管实例,加密配置没那么完善,装完18反而会多出证书相关的连接报错。

如果你和我一样,日常用SQL Server 2016/2019/2022,工作流里还有其他旧工具依赖ODBC驱动,那么装一个ODBC Driver 17(注意同时勾选32位和64位),然后把系统自带的“SQL Server”驱动留着做备用,是最省心的组合。等团队所有依赖方都确认兼容之后,再升级18也不迟。

顺带说一句,MySQL和PostgreSQL作为CIS后端库也能用,原理一样,只是驱动名称和配置项略有不同。如果你所在公司数据库体系不是SQL Server,MySQL Connector/ODBC请认准32位版本安装,PostgreSQL则是psqlODBC。走一遍相同的排查链路,最后都能通。

我在实际使用中还发现一个小技巧:配置DSN时,尽量在DSN里直接把默认数据库设置成CIS使用的那个库,这样Capture访问时不用每次传库名,少一类“对象名无效”的报错。另外,如果DBA后来给你换了一个数据库实例,只需改DSN指向的服务器名,Capture.ini和DBC文件都不需要动。

最后再说一个容易被忽视的细节:每次修改ODBC数据源配置后,都要彻底退出Cadence Capture再重新打开。ODBC管理器在应用连接时会把数据源信息缓存到进程内存里,你改了DSN但Capture还占着旧连接,会出现“明明配置对了但还是报错”的错觉。这个坑我至少帮三个同事排查过,他们都说“改了没用”,结果退出重进就好了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 18:30:00

从干等到在听:qwen-audio-agent 接入 TaoToken 的 LLM Key

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 18:27:49

宠物电推剪升压芯片选型:输入电流、堵转余量与热设计实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 18:26:20

Java全栈开发手办商城盲盒系统实战

1. 项目背景与核心价值最近两年,手办收藏市场呈现爆发式增长,特别是盲盒玩法带动了整个行业的创新。作为一个Java全栈开发者,我花了三个月时间开发了一套完整的"手办商城"系统,其中盲盒模块是最具特色的功能。这套系统不…

作者头像 李华
网站建设 2026/9/18 18:25:02

MMC实时仿真避坑指南:模型精度、FPGA排序与接口延迟

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 18:20:34

工业场景下TCP字节帧与Modbus TCP协议桥接实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华