2012-04-06 25 views
2

Ich hatte dieses sqlcmd-Snippet im Batch, aber wenn ich in Powershell konvertiert, brach es. Dies ist, was ich mit PowershellKonnte sqlcmd nicht korrekt von Powershell aufrufen

Sqlcmd -S localhost\instance -d database -U username -P password -i "sqlQuery.sql" -s "," > \sqlOutput.csv -I -W -k 

zu nennen bin versucht, habe ich versucht, invoke-sqlcmd aber ich bekomme die Fehlermeldung „Der Begriff‚aufrufen-sqlcmd‘wird als Name eines Cmdlets, Funktion, Skript-Datei nicht erkannt wird, oder bedienbares Programm "

In Bezug auf den Kommentar unten habe ich die erforderlichen Snapins geladen. Das hat geholfen, aber ich bekomme jetzt diesen Fehler. „Invoke-Sqlcmd: Parameter können nicht bearbeitet werden, da die Parameternamen‚s‘mehrdeutig ist

Wenn ich es in einfache Anführungszeichen setzen ...

invoke-Sqlcmd '-S localhost\instance -d database -U username -P password -i "sqlQuery.sql" -s "," > \sqlOutput.csv -I -W -k' 

Ich erhalte den Fehler.“ Ein netzwerkbezogene oder Beim Herstellen einer Verbindung mit dem SQL-Server ist ein instanzspezifischer Fehler aufgetreten. Was für mich nicht sinnvoll ist, da die gleichen Anmeldedaten, die ich hier verwende (in derselben Box), funktionieren, wenn sie aus dem Stapel aufgerufen werden.

+0

Invoke-Sqlcmd So rufen Sie die SQL-Snap-Ins geladen haben müssen. –

+0

Die Parameter sqlcmd.exe und invoke-sqlcmd sind nicht identisch. Siehe Hilfe invoke-sqlcmd -full für eine Liste von Parametern und Beispielverwendung –

Antwort

2

Sie müssen zuerst sqlps.exe von Powershell oder Eingabeaufforderung aufrufen (vorausgesetzt, Sie haben die SQL Server-Snap-Ins für Powershell installiert).

Sobald Sie das tun, führen Sie get-help Invoke-Sqlcmd aus, um sich zurecht zu finden.

Um Ihre Frage, es ist nicht -S, aber -ServerInstance

PS SQLSERVER:\> Invoke-Sqlcmd -ServerInstance "srvrName" -Database "master" -Username "user123" -Password "x$34fth" 
-InputFile "C:\Users\testUser\Desktop\test.sql" | Out-File "C:\Users\testUser\Desktop\out.txt" 

Sie können auch die MSDN Dokumentation

0

Goto

  • Windows Explorer verwenden 
  • richtigen Computer Klicken 
  • Eigenschaften 
  • Erweiterte Systemeinstellungen 
  • Umgebungsvariablen

Stellen Sie sicher, PSModulePath mit folgenden String gesetzt.

C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules

Verwandte Themen