如何解决Teradata bteq控制台未在Powershell抄录中转录
我用如下的笔录Teradata bteq运行pwhs.exe
我以前在成绩单中有bteq控制台输出,但是当通过Windows任务计划程序运行时,bteq输出不再显示。
如果我运行ps1。登录到服务器时,记录显示所有记录。
pwsh:版本7.0.3 服务器:Windows 2016 OS terdata:16.2
start-transcript -path C:\temp\test.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 Core 7.x中找到了解决方案
添加|脱离主机,比BTEQ控制台的输出还要在powershell脚本中
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。