我运行了一个pwhs.exe,其中包含如下所示的转录teradata bteq
我曾经在转录本中有bteq控制台输出,但当通过windows任务调度程序运行时,bteq输出不再显示。
如果我运行ps1。当loggonon到服务器时,转录本显示所有内容。
pwsh:版本7.0.3服务器:windows 2016操作系统terdata:16.2
start-transcript -path C:temptest.txt -append
$psfunctions = 'C:ps_funtions'
.Psfunctions
#in functions function
#function func-bteq ($b_file) {
# get-content $b_file -raw | bteq
# }
write-host 'Start'
func-bteq -b_file $b_file
write-host "End, with $LASTEXITCODE"
foreach ($f in get-childitem 'C:modules'-inculde *.sql -recurse)
{
write-host 'Start something'
write-host $.name
$b_file = get-content $f -raw
func-bteq -b_file $b_file
write-host $LASTEXITCODE
}
stop-transcript
在成绩单文件中,我只得到像一样的ps控制台
Transcript started, output file is E:20200928041908.txt
SQL start 041909
file_a.sql
SQL ready 041959
file_b.sql
SQL start 041959
file_c.sql
**********************
PowerShell transcript end
End time: 20200928042340
**********************
我期待这样的东西
SQL start 041909
file_a.sql
+---------+---------+---------+---------+---------+---------+---------+----
/* -------------------------------------------------------------------------------*/
/* Version 1.0. created 11-05-2019 WvW */
/* -------------------------------------------------------------------------------*/
.logon db/user,
*** Logon successfully completed.
*** Teradata Database Release is 16.10.06.04
*** Teradata Database Version is 16.10.06.04
*** Transaction Semantics are BTET.
*** Session Character Set Name is 'ASCII'.
*** Total elapsed time was 1 second.
+---------+---------+---------+---------+---------+---------+---------+----
/* -------------------------------------------------------------------------------*/
/* delete and insert in to save table */
/* -------------------------------------------------------------------------------*/
delete table all;
*** Delete completed. 267527 rows removed.
*** Total elapsed time was 1 second.
+---------+---------+---------+---------+---------+---------+---------+----
insert into table_a
select * from table_b
*** Insert completed. 267523 rows added.
*** Total elapsed time was 1 second.
/*----------------------------------------------------------------------*/
.LOGOFF;
*** You are now logged off from the DBC.
+---------+---------+---------+---------+---------+---------+---------+----
.EXIT 0;
*** Exiting BTEQ...
*** RC (return code) = 0
我自己在powershell核心7.x 中找到了解决方案
将主机添加到线路中,比BTEQ控制台输出还将在powershell转录中