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 o
SQL 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# d
8 p5 I' F4 B1 v% o5 @1 L! X! Q
监视SQL Server 发现对 TMPPRTS 表进行如下查询操作之后就不继续了:
7 k: X$ k2 Y! q( `- L; P3 t
exec 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. n
1 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 {) b
SQL Server 8.0.760
4 I" X u" W2 B
ODBC 3.525
$ G B; M }2 m, B; a7 X
Orcad Capture CIS 16.3
4 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 int
1 M. l" j8 Y$ A: L
set @P1=3
% g# v9 t( T; }6 i3 K4 K
exec sp_prepexec @P1 output, NULL, N'SELECT
* \3 N: Z7 W4 L2 X! u/ c
select @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( ?& s
1. 将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 E
5. 反复update,SQL Server再也没有收到过 exec sp_tables N'TMPPRTS', NULL, NULL, NULL
, y! s# Q+ p: r
0 g& ~4 ~0 y8 O- g5 A4 }8 F
估计是Capture CIS在注册临时库的时候有几个操作未完成,所以每次Update的时候,就会去查询这个表的各个表项。通过反复进入配置、保存,最后那个未知操作完成,再次Update,就不查询TMPPRTS的表项,直接进行需要的器件表查询与更新了
欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/)
Powered by Discuz! X3.2