SQL Powershell 中的 BCP 挂起
SQL BCP within Powershell hangs
我是 BCP 新手。我想从 Powershell 启动 bcp.exe 实用程序,但它挂起。相同的命令在命令提示符下运行良好。我正在使用 Invoke-Expression
启动 bcp.exe。
我可以毫无问题地启动 SQLCMD.exe。
这是我的 powershell。
Set-Location -Path "C:\Program Files\Microsoft SQL Server0\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 脚本卡住时。
我可以从 powershell 正常启动 SQLCMD.exe。
我做错了什么?任何想法或指示。
在这里问之前我应该多搜索一下。 This post 帮助了我。我能够使用 Start-Process 命令从 powershell 运行 BCP。
$bcp = 'c:\Program Files\Microsoft SQL Server0\Tools\Binn\bcp.exe'
$arglist = @(
#add all arguments.
)
Start-Process -FilePath $bcp -ArgumentList $arglist
我是 BCP 新手。我想从 Powershell 启动 bcp.exe 实用程序,但它挂起。相同的命令在命令提示符下运行良好。我正在使用 Invoke-Expression
启动 bcp.exe。
我可以毫无问题地启动 SQLCMD.exe。
这是我的 powershell。
Set-Location -Path "C:\Program Files\Microsoft SQL Server0\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 脚本卡住时。
我可以从 powershell 正常启动 SQLCMD.exe。
我做错了什么?任何想法或指示。
在这里问之前我应该多搜索一下。 This post 帮助了我。我能够使用 Start-Process 命令从 powershell 运行 BCP。
$bcp = 'c:\Program Files\Microsoft SQL Server0\Tools\Binn\bcp.exe'
$arglist = @(
#add all arguments.
)
Start-Process -FilePath $bcp -ArgumentList $arglist