EDA365电子工程师网

标题: [已结] CIS在更新元件状态时出现Unknown database field type错误 [打印本页]

作者: finished    时间: 2012-9-7 16:14
标题: [已结] CIS在更新元件状态时出现Unknown database field type错误
本帖最后由 finished 于 2012-9-10 13:06 编辑
. g5 f  Y7 q" [5 M& n% \
8 c: b+ V' I# l1 ?! }3 oSQL Server数据库装在服务器上,本地通过ODBC进行访问
( j6 F7 Y. r, M- p1 {
7 U9 \9 ?' K. j- j  J* {1 p在Part Manager中进行 Update Selected Part Status 或者 Update All Part Status时会提示下面的错误:. g5 L2 `5 `: R; Q+ e6 A# G( N
    ERROR #9002 Unknown database field type& A2 K" r. N+ v/ M- {
9 k% ~" h1 F0 @2 |, O1 K2 z! l8 j$ W
而对数据库的其他操作都是正常的,例如进行 Link Database Part 或者 View Database Part
; \) W' }; N  z# U# d8 p5 I' F4 B1 v% o5 @1 L! X! Q
监视SQL Server 发现对 TMPPRTS 表进行如下查询操作之后就不继续了:
7 k: X$ k2 Y! q( `- L; P3 texec sp_tables N'TMPPRTS', NULL, NULL, NULL
5 Z! g6 ?  g' g$ `exec sp_columns N'TMPPRTS', NULL, NULL, NULL
. T7 Q8 O' w' e. n1 Y. V, Q7 T/ n3 q3 }' ^
不可能是 TMPPRTS 表字段类型不正确吧,这个 TMPPRTS 表是Orcad Capture CIS自动生成的
; b& R( h1 Y9 E. M4 j2 A* d
0 \8 V* t# ]5 x在这个问题上晕了很久,请大家帮忙指点一下吧。
- D+ N# s( U6 c7 I. K& M8 u$ V) K4 Q8 e( Z! W
相关软件版本:
: P) E/ ]; V  a6 {) bSQL Server 8.0.760
4 I" X  u" W2 BODBC 3.525$ G  B; M  }2 m, B; a7 X
Orcad Capture CIS 16.34 B7 k- }. K" X8 _# w7 K8 D3 s

9 N1 h% ~1 j6 g+ Q# ?! a
作者: finished    时间: 2012-9-10 12:39
晕死,什么也没有动  P: b! N7 a2 l, ]5 p
现在又能更新了
# `; D6 g+ N2 f  ]; x/ A. o$ j7 \3 b( q; W% ]! M0 @
SQL Server监视结果:, E. S) B/ d& `" c% R- {
declare @P1 int1 M. l" j8 Y$ A: L
set @P1=3
% g# v9 t( T; }6 i3 K4 Kexec sp_prepexec @P1 output, NULL, N'SELECT
* \3 N: Z7 W4 L2 X! u/ cselect @P1
$ b. F  q* E6 k8 G3 B( j- ]exec sp_unprepare 3/ \4 e- t$ }! |3 i" W; l6 u' X

! w! [3 }; V3 v3 R目前的操作顺序是:
; r3 E' I8 n( ?& s1. 将TMPPRTS的所有变量改为: char(64),进CIS Configuration,提示:临时库不存在% l' j6 a- J- k5 P1 @* v" r0 A/ N
2. 将TMPPRTS变量恢复为:varchar(64),然后进CIS Configuration,提示:库存在
% Q; V! n' l- g2 ]: k# s1 [3. 将prefix随便给一个名称,然后进入Part Manage进行update,SQL Server未收到任何命令) U; J8 M$ x5 F) D; l* x
4. 去掉Prefix的名称,然后再进入Part Manage进行Update,SQL Server收到上面的结果
0 X9 j& _+ R$ t2 E5. 反复update,SQL Server再也没有收到过 exec sp_tables N'TMPPRTS', NULL, NULL, NULL
, y! s# Q+ p: r0 g& ~4 ~0 y8 O- g5 A4 }8 F
估计是Capture CIS在注册临时库的时候有几个操作未完成,所以每次Update的时候,就会去查询这个表的各个表项。通过反复进入配置、保存,最后那个未知操作完成,再次Update,就不查询TMPPRTS的表项,直接进行需要的器件表查询与更新了




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2