Powershell中的SQL BCP挂起

时间:2018-09-19 18:55:55

标签: sql powershell bcp

我是BCP的新手。我想从Powershell启动bcp.exe实用程序,但是它挂起了。相同的命令可以正常运行。我正在使用Invoke-Expression启动bcp.exe。

我能够启动SQLCMD.exe,没有任何问题。

这是我的能力。

Set-Location -Path "C:\Program Files\Microsoft SQL Server\110\Tools\Binn"

SQLCMD.EXE -b -E -S CORPSYSSQLDEV -d CORPSYSDM -Q "select top 10 * from t_test"

$psCommand = "bcp.exe ""testDB.dbo.t_test"" in  ""C:\temp\test\testFile20180919.txt"" -c -t""\t"" -T -S ""TESTSQLDEV"" -e c:\temp\NoahFolder\error.csv"

Write-Host $psCommand

Invoke-Expression $psCommand

这是$ psCommand的结果。

bcp.exe "testDB.dbo.t_test" in  "C:\temp\test\testFile20180919.txt" -c -t"\t" -T -S "TESTSQLDEV" -e c:\temp\test\error.csv

这在命令提示符下工作正常,但是当我运行powershell脚本时,它卡住了。

enter image description here

我能够从powershell中启动SQLCMD.exe。

我在做什么错?任何想法或指针。

1 个答案:

答案 0 :(得分:0)

在这里问之前,我应该搜索更多。 This个帖子对我有所帮助。我能够使用Start-Process命令从powershell运行BCP。

$bcp = 'c:\Program Files\Microsoft SQL Server\110\Tools\Binn\bcp.exe'
$arglist = @(
   #add all arguments.
)
Start-Process -FilePath $bcp -ArgumentList $arglist
相关问题