Mam problemy z wykrywaniem błędu w PowerShell, gdy połączenie nie powiedzie się do SQL Server za pomocą Invoke-Sqlcmd. To jest jakiś rodzajowy kod do wykazania problem:Powershell Spróbuj Catch invoke-sqlcmd
CLS
$server = "Localhost\fake"
try
{
Invoke-Sqlcmd -Query "SELECT DB_NAME() as [Database]" -Server $server
}
catch
{
Write-Host "Error connecting to server " $server
}
pojawia się następujący błąd:
Invoke-Sqlcmd : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Spodziewałem się uzyskać oświadczenie jednym wierszu: „Błąd podczas łączenia z serwerem localhost \ fake”
Jestem na Power Shell v3, a Twój kod daje mi niestandardowy błąd. –
Również w Power Shell v2 –
Dzięki, to dobrze wiedzieć, najwyraźniej wciąż jestem na 2. –