|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 J8 F' Y' S% t, w. b3 }
171. 更改运行调度程序的操作系统用户后,populatefsc 中止在 TRANSLATIN状态
) O* `6 \0 g# e- n4 p: Q* l& x* O6 ^* W, i# e! o$ K
问题
9 w7 |) O* K" ] S默认情况下,该模块使用 2 层的自动登录,如果操作系统用户不是 Teamcenter 用户,该$ C7 z2 ~* d; d
模块中的功能无法登录 ( f6 Y; r7 G8 _) h
|* @8 W ^8 j+ W! hERROR - 2018/11/29-10:51:46.962 UTC - NoId - 515143: The login attempt failed: either the 6 r U; }9 k8 g: [1 m
user ID or the password is invalid. ' Y5 p) |- F1 P6 F% c) v
- F3 z- V6 C; W: m( k0 U方法
5 K% }/ Q- Y, }+ m) r3 T: v修改 populatefsc 脚本,增加登录信息
& B! W/ W, E) N% P$ |1 f' y& o- Y在 populatefsc.bat 文件中,在 TC_ROOT 和 TC_DATA 的设定后增加如下行
/ g$ C; @& K* B) x5 R& M6 ]set TC_DBA_USER=infodba
. p& J# ^1 T O" ?3 j+ D6 v5 o5 q5 T) f4 {( ~
在 populatefsc.pl 中 : . D$ M i2 Q1 s) t' T3 w
" E2 V- Q) U7 \2 f0 u0 G9 t
在 runPLMXMLExport 子程序下增加红色标记的代码
+ M; F/ ?. k* L# {) G
1 G# a7 O# g' b# This will be the full path to the executable. : N, k7 R, B3 `, e# }6 O
my $exe_path= "$ENV{'TC_BIN'}${dir_separator}${exe_name}${exe_suffix}"; 4 e' r9 o6 e( J6 v' N( l/ v* j
my $tcdbauser= "$ENV{'TC_DBA_USER'}"; ( e x @1 M# r/ t" m, l
my $pwdfile= "$ENV{'TC_ROOT'}${dir_separator}security${dir_separator}server_infodba.pwf"; , ^: Z6 s4 s* N& ~& _% W8 {7 d7 s
# Make sure we can find what we are executing. * R$ E6 b' X; q G1 j) S: N- T
die "The ${exe_name} executable was not found at the following location: ; n5 ?: O) C/ `$ d |
${exe_path}\n" unless -x ${exe_path};
M* k3 q3 L( n" Z8 I( w( R8 b7 |
& H2 z8 L7 G9 S# Start building the command line.
; G: m" A# D; b: d+ \9 ~" R0 \my @args= ( $exe_path, '-transfermode=ConfiguredDataExportDefault' );
2 R2 }( x+ `& I' A4 F# `4 U) x ^0 G: d) D% ?" s$ @
# Take care of possible empty spaces in the argument values ' W6 U u* O! U0 {
my $outputFileStr = $hashRef->{'output_file'}; 1 O% @ F9 J# v1 ]
$outputFileStr = handleEmptySpaceInPath($outputFileStr);
: d% |3 b7 h. U2 N; _my $scoUid = $hashRef->{'uid'};
3 k4 r6 w) M' b$ x9 X* }$scoUid = handleEmptySpaceInPath($scoUid);
/ f3 t# T6 [; _1 Q W2 a; S: W. n( Q$ U6 e+ T; M$ [
# Add the extra options.
* i2 `4 U/ F9 F; \) o9 LaddOption(\@args, '-xml_file=', $outputFileStr, 1);
4 _! i. C% ^8 s6 SaddOption(\@args, '-uid=', $scoUid, 1); % n/ o( R' Y6 g' P
addOption(\@args, '-u=', $tcdbauser, 1);
! c! U& k' A( F+ ~- GaddOption(\@args, '-pf=', $pwdfile, 1); 9 L. U) \( R8 \# X' S
0 @( k8 O, P$ V' f3 F在 runLoadFscCache 子程序下增加红色标记的代码 : b& @' R- B$ l: c2 d7 e% B$ K1 Y1 ]
' h4 y1 A G2 P6 \7 u3 N. j9 |0 N# This will be the full path to the executable. 5 e) k3 R/ v/ ]. B6 L0 {
my $exe_path= "$ENV{'TC_BIN'}${dir_separator}${exe_name}${exe_suffix}"; 8 }8 Z# R: e" \4 ]6 n
$ q7 [1 t8 F" B5 V) w' J8 Ymy $tcdbauser= "$ENV{'TC_DBA_USER'}"; # B+ _5 ~8 |% K) J7 D ~( K) c
my $pwdfile= "$ENV{'TC_ROOT'}${dir_separator}security${dir_separator}server_infodba.pwf"; 9 y x, Y2 N. P$ I, t
# Make sure we can find what we are executing. " g4 ~7 P% l& j6 {1 g: F& v) }
die "The ${exe_name} executable was not found at the following location: * G$ D& Z# i1 H9 \$ n4 k
${exe_path}\n" unless -x ${exe_path}; u# o2 @# x0 l& s) g
, r! @ ], u% Z0 [5 d; U# Figure out output information from command line input
5 n3 I( S5 Y- ?3 hmy $outputFileStr = $hashRef->{'output_file'}; 3 w1 f! C! {0 e# E2 h. f6 e0 I( @2 P
my $fscUri = $hashRef->{'targets'};
' L0 o. x5 z5 A$ ~; v$ e/ Z7 m) v. m: H& V7 R. V
# Check possible empty space in the string ! X* e8 l J v# F- a y! w9 i/ d
$outputFileStr= handleEmptySpaceInPath($outputFileStr);
! ~ l& W+ f# G$fscUri = handleEmptySpaceInPath($fscUri); v5 t8 [ q7 {+ S7 O6 J
" V T, L d0 s7 o. z+ s# Add the extra options. - a2 }. b2 W2 H# z) T `
my @args= ( $exe_path, '-f=load' );
5 m f- D" T- E: f) ~: GaddOption(\@args, '-plmxml=', $outputFileStr, 1); ) j: R; N E6 A$ G& f+ i
addOption(\@args, '-fsctargets=', $fscUri, 1); 6 |( Y6 a) U' a( w! @
addOption(\@args, '-u=', $tcdbauser, 1); : `' q( d' f$ _5 G! U. v
addOption(\@args, '-pf=', $pwdfile, 1); + x! r& k0 j0 e$ | U
/ q% t( |: Q3 L R
, T9 E1 p% x* D2 b# K5 A8 ]8 B; y$ C
0 }, N$ O! i$ o: X1 u2 i, y
|
|