【发布时间】:2012-11-16 15:07:12
【问题描述】:
当使用 Invoke-Sqlcmd 连接到 SQL Server 失败时,我无法在 PowerShell 中捕获错误。这是一些用于演示该问题的通用代码:
CLS
$server = "Localhost\fake"
try
{
Invoke-Sqlcmd -Query "SELECT DB_NAME() as [Database]" -Server $server
}
catch
{
Write-Host "Error connecting to server " $server
}
我收到以下错误:
Invoke-Sqlcmd:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称 是正确的,并且 SQL Server 配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)
我希望得到一行语句:“连接到服务器 Localhost\fake 时出错”
【问题讨论】:
-
我在 powershell v3 上,你的代码给了我你的自定义错误。
-
谢谢,很高兴知道,我显然还在 2.
标签: powershell try-catch try-catch-finally