|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( f9 k6 U. O# U1 C. f, O
171. 更改运行调度程序的操作系统用户后,populatefsc 中止在 TRANSLATIN状态
# m% O8 a6 ?2 o+ x. q" t$ B u# I
问题
: h% t. D- F1 N( v4 Q- \默认情况下,该模块使用 2 层的自动登录,如果操作系统用户不是 Teamcenter 用户,该6 s/ z+ g. s6 _
模块中的功能无法登录
4 o3 N9 |3 F6 |. T5 d! |8 C4 J
+ Z& S! d! r6 p8 ], A6 bERROR - 2018/11/29-10:51:46.962 UTC - NoId - 515143: The login attempt failed: either the $ q, j6 F8 Y( z0 {. L. G
user ID or the password is invalid. % M1 Z; c- P9 l! D
3 B3 t2 g2 z4 w& Y2 `" P3 m5 A
方法 q y. j2 K5 c
修改 populatefsc 脚本,增加登录信息 " O; w; M8 Q! Q* @" Z$ ^
在 populatefsc.bat 文件中,在 TC_ROOT 和 TC_DATA 的设定后增加如下行
: Z6 B* C' V6 ~: ?, o# Oset TC_DBA_USER=infodba . _- P+ ^! l @8 I
: L$ J9 j) x. Y; g
在 populatefsc.pl 中 : % n1 a {: K- O
% t# v0 T3 `7 V
在 runPLMXMLExport 子程序下增加红色标记的代码 u2 [$ ~* t& K9 X: R6 a# w
9 h* m4 ^% X6 i [, A# This will be the full path to the executable. 1 q* y0 x& D9 U, m1 D
my $exe_path= "$ENV{'TC_BIN'}${dir_separator}${exe_name}${exe_suffix}";
3 P, Z5 u8 z v# g& Z! B6 Mmy $tcdbauser= "$ENV{'TC_DBA_USER'}";
; a6 Z B. W: Y8 x; e- ?my $pwdfile= "$ENV{'TC_ROOT'}${dir_separator}security${dir_separator}server_infodba.pwf"; $ m- K) l# H |' a i2 P4 j
# Make sure we can find what we are executing. 6 |0 ]* _, O8 c3 q( \# K& G: W p0 X9 j
die "The ${exe_name} executable was not found at the following location: ; g+ A# d* E4 v C* w0 B. x9 w
${exe_path}\n" unless -x ${exe_path}; O# R$ t$ [. T
2 f% [& z% N) R8 L/ V3 w0 k
# Start building the command line. 9 |- `4 x5 }4 r# D
my @args= ( $exe_path, '-transfermode=ConfiguredDataExportDefault' ); . P+ t, m! k/ o; s& }
+ \# C2 M8 G5 ?* `2 b- x" ~0 @# Take care of possible empty spaces in the argument values 7 s, H3 E% E( O
my $outputFileStr = $hashRef->{'output_file'};
* K8 k$ O. Q ~) _9 w. T9 f6 Y0 W$outputFileStr = handleEmptySpaceInPath($outputFileStr);
0 `5 g' t* C S1 Wmy $scoUid = $hashRef->{'uid'};
; y3 R( m$ A4 t% Q' j+ z6 t$scoUid = handleEmptySpaceInPath($scoUid); - Y- L) y! P3 t
4 v4 w& D% c `! h/ ~
# Add the extra options. % u0 J2 @, t/ M* Z5 p' y
addOption(\@args, '-xml_file=', $outputFileStr, 1); 5 Q6 v5 J7 F2 y5 r& v0 ~
addOption(\@args, '-uid=', $scoUid, 1); . @* |; Q1 P% s: L; {% ]; \
addOption(\@args, '-u=', $tcdbauser, 1); 5 B9 q' `( v- p# o3 Q7 C1 \, W! F' E
addOption(\@args, '-pf=', $pwdfile, 1);
6 n' {3 G5 B' x5 y v! C% `+ x8 b6 `$ q, {" ]
在 runLoadFscCache 子程序下增加红色标记的代码 : Y' t/ V7 {6 y6 U
3 K* {" k5 W2 H+ }) W# This will be the full path to the executable.
" a+ n" e* ^, Q/ F* M" Tmy $exe_path= "$ENV{'TC_BIN'}${dir_separator}${exe_name}${exe_suffix}"; 4 H7 G0 r D0 X/ ?
9 p+ @* Y8 m8 ? i0 e; q, D ~
my $tcdbauser= "$ENV{'TC_DBA_USER'}";
s V$ n& w V0 e# u% t" ]6 k- ]my $pwdfile= "$ENV{'TC_ROOT'}${dir_separator}security${dir_separator}server_infodba.pwf"; ?. C$ k8 e+ C' y1 h2 Q
# Make sure we can find what we are executing. 1 I1 F& m2 E, p$ r0 C' q3 _7 U
die "The ${exe_name} executable was not found at the following location: $ h l, K5 S% ^2 H' Y
${exe_path}\n" unless -x ${exe_path};
, i( @# e: {7 v. L& U# w6 R8 Y7 r$ W0 b9 W& H- N9 `
# Figure out output information from command line input % t0 [% p* R" i2 B- N4 S: k
my $outputFileStr = $hashRef->{'output_file'};
9 k! }7 j9 s8 v! Mmy $fscUri = $hashRef->{'targets'}; ( J; v4 g+ b& ?, k9 S
k9 v) g3 [* S9 I' \+ s
# Check possible empty space in the string % ^: K# c" Z- ^9 Y8 Q. V0 _
$outputFileStr= handleEmptySpaceInPath($outputFileStr); 7 s6 Q; N0 k" d: v( V4 p6 U7 H3 U
$fscUri = handleEmptySpaceInPath($fscUri);
( n: A/ z# U0 y* x) T
/ I# |4 a" [! W; l" }1 [# Add the extra options. ) m6 |; y* g$ p' R! M8 A
my @args= ( $exe_path, '-f=load' );
6 w: w$ P o. B" [5 ?addOption(\@args, '-plmxml=', $outputFileStr, 1); 0 n% h/ Q# T2 [+ l0 o) E3 H
addOption(\@args, '-fsctargets=', $fscUri, 1);
' {" L% ^( S, ]7 Y* AaddOption(\@args, '-u=', $tcdbauser, 1);
& ?6 o0 x) x5 w$ RaddOption(\@args, '-pf=', $pwdfile, 1); 4 {8 x! l( P9 |6 _% {
& `, L: U. n% b5 h
0 }2 V" g! H0 e* g1 V; W
, Z* b, X* k" K2 l4 t$ { |
|