【问题标题】:SQL BCP within Powershell hangsPowershell 中的 SQL BCP 挂起
【发布时间】:2018-09-19 18:55:55
【问题描述】:

我是 BCP 的新手。我想从 Powershell 启动 bcp.exe 实用程序,但它挂起。相同的命令工作正常命令提示符。我正在使用Invoke-Expression 来启动 bcp.exe。

我可以毫无问题地启动 SQLCMD.exe。

这是我的 powershell。

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 脚本时它卡住了。

我可以从 powershell 正常启动 SQLCMD.exe。

我做错了什么?任何想法或指示。

【问题讨论】:

  • 我能够使用 Start-Process -FilePath $bcp -ArgumentList $arglist 解决我的问题

标签: sql powershell bcp


【解决方案1】:

在问这里之前我应该​​搜索更多。 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-30
    • 2017-07-29
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    相关资源
    最近更新 更多