|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 e6 ?- q" G- L4 S0 Z
171. 更改运行调度程序的操作系统用户后,populatefsc 中止在 TRANSLATIN状态
& h$ |/ Q% j* A3 w; ]7 ?8 t" Z' @: k. V J
问题 : M- q* e9 M V% [9 p
默认情况下,该模块使用 2 层的自动登录,如果操作系统用户不是 Teamcenter 用户,该
& Q2 \3 q% g% T. v模块中的功能无法登录
8 [4 C9 J0 {( z1 ?4 J) Q
7 k; \6 ?3 a; a2 @: f% wERROR - 2018/11/29-10:51:46.962 UTC - NoId - 515143: The login attempt failed: either the
3 w& Y* E+ N0 cuser ID or the password is invalid.
# R S9 p+ J) ]# g) ]1 D: e1 E: Z6 T4 L
方法
; m. Z% }1 h+ i( v* e, h) U j- _# M修改 populatefsc 脚本,增加登录信息
7 C( y% b* @4 l4 o( {6 e2 V在 populatefsc.bat 文件中,在 TC_ROOT 和 TC_DATA 的设定后增加如下行
! \+ i& q( m1 K H8 Nset TC_DBA_USER=infodba
) c, { a7 e+ E; P: A
4 n1 ?7 V) ~' m在 populatefsc.pl 中 : 4 Z2 Y& }, `& Y5 G Z7 |1 ^
. w$ F/ i7 H) }- l# F& D在 runPLMXMLExport 子程序下增加红色标记的代码
# k2 u! g4 M8 b/ c
- M) x2 Z% C' C# This will be the full path to the executable.
6 `. W! E2 ]( [% M! ^my $exe_path= "$ENV{'TC_BIN'}${dir_separator}${exe_name}${exe_suffix}"; , S j4 d' m+ I+ [. _3 x
my $tcdbauser= "$ENV{'TC_DBA_USER'}"; # d+ z2 Z+ W( L2 c5 _: |
my $pwdfile= "$ENV{'TC_ROOT'}${dir_separator}security${dir_separator}server_infodba.pwf";
# ]6 o4 e5 Z& ^/ g% l" y# Make sure we can find what we are executing. ' V) b9 u) v( j1 D/ O `/ L5 a
die "The ${exe_name} executable was not found at the following location:
: e8 Z C) Z3 E& j, ]${exe_path}\n" unless -x ${exe_path};
8 l: H: w9 V: L, g( U6 L: Q/ ?2 z) h& b/ C+ Q; q4 N
# Start building the command line.
, i9 ^) k$ ~! r8 G9 {my @args= ( $exe_path, '-transfermode=ConfiguredDataExportDefault' );
' ?0 |$ E4 S) Q" E+ p/ G! q& {7 w# ]6 V; G4 ?+ }
# Take care of possible empty spaces in the argument values 1 F$ _- }( x* C7 C
my $outputFileStr = $hashRef->{'output_file'}; $ G4 Q( x* D1 J/ h* ~* R2 d
$outputFileStr = handleEmptySpaceInPath($outputFileStr); " E& [- v9 I& i) ^7 A
my $scoUid = $hashRef->{'uid'};
8 l; l1 j. W3 f8 z& E6 W$scoUid = handleEmptySpaceInPath($scoUid); ! j0 Z' B0 f& h. i
3 k5 I6 L- D2 H# Add the extra options. - C9 G% R [0 Y
addOption(\@args, '-xml_file=', $outputFileStr, 1); ( J- v% @6 S, M0 Q
addOption(\@args, '-uid=', $scoUid, 1); ! _, T; L* M8 ]9 Y% D
addOption(\@args, '-u=', $tcdbauser, 1); 4 {- Z9 @6 Z- S1 q
addOption(\@args, '-pf=', $pwdfile, 1); : ^# \. T2 c: L4 T8 p
0 R M9 U0 S2 _: e) i
在 runLoadFscCache 子程序下增加红色标记的代码
# M/ X/ \- i- ?7 }/ k
, x) ^( @- b% F# This will be the full path to the executable. , u7 |4 K9 w+ s: `. ~0 e7 z5 h
my $exe_path= "$ENV{'TC_BIN'}${dir_separator}${exe_name}${exe_suffix}"; 6 _ |) K5 b2 {. s6 N# \/ ?
, F0 }5 q6 @* k/ M
my $tcdbauser= "$ENV{'TC_DBA_USER'}";
3 L; h: S, N5 e3 ~3 q& ~my $pwdfile= "$ENV{'TC_ROOT'}${dir_separator}security${dir_separator}server_infodba.pwf";
6 C- _$ \' ^6 X5 e7 R$ F) N! o s2 Z# Make sure we can find what we are executing.
- x2 `: u9 Z" I. x1 K9 l6 Gdie "The ${exe_name} executable was not found at the following location: ) V# q, p2 p" j1 D/ O/ b5 k5 N
${exe_path}\n" unless -x ${exe_path};
& z! ^, p# [+ b( }# P3 h6 |; ]9 p# y6 N N
# Figure out output information from command line input
8 n/ y: o/ X: W+ d9 X2 f xmy $outputFileStr = $hashRef->{'output_file'}; * u% k- f2 {& G8 h( Z. a9 o
my $fscUri = $hashRef->{'targets'}; - e: q! w+ O& p8 o; r
9 s# f v& E& i, \5 k; I
# Check possible empty space in the string # Y7 J6 p: F6 y, @% e+ ^( d
$outputFileStr= handleEmptySpaceInPath($outputFileStr);
$ S g: I- Y! l1 E7 P$fscUri = handleEmptySpaceInPath($fscUri); : o+ a9 Y+ B$ s& M R$ \; n
% Q( `9 M) P: q" A: `' {) X# Add the extra options.
1 F, x1 U. D5 v. \my @args= ( $exe_path, '-f=load' ); $ e: h/ ^3 @' w; y
addOption(\@args, '-plmxml=', $outputFileStr, 1);
! _! ? l& Z8 c4 b zaddOption(\@args, '-fsctargets=', $fscUri, 1); # i3 c. g8 O r% \ P
addOption(\@args, '-u=', $tcdbauser, 1);
( C0 y3 t, K0 C( p% p( H- taddOption(\@args, '-pf=', $pwdfile, 1);
9 N9 E8 _( y K( A( M& u! B4 Y# b0 Y$ o4 X4 Z9 C
2 S) T$ A1 w" E3 n g$ L
/ P4 h' }* U$ Q7 H7 `
|
|