Ich bin in der Lage, eine Verbindung zu einer Microsoft SQL Server 2008-Instanz über eine Mint Linux VM mit freeTSD und Befehlszeile zu SQL-Anweisungen ausführen. Jetzt möchte ich das in einem Bash-Skript automatisieren. Ich bin in der Lage, erfolgreich in meinem Bash-Skript anmelden:freeTDS bash: Ausführen von SQL-Abfragen in Microsoft SQL Server
TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domain\\Administrator -P password
Ich habe dann meine SQL-Abfrage:
USE dbname GO delete from schema.tableA where ID > 5 GO delete from schema.tableB where ID > 5 GO delete from schema.tableC where ID > 5 GO exit
Dies funktioniert, wenn sie manuell über freeTSD Befehlszeilen zu tun, aber nicht, wenn ich legte in bash-Datei . Ich folgte diesem Beitrag: freeTSD & bash.
Hier ist meine Bash-Skript Beispiel:
echo "USE dbname GO delete from schema.tableA where userid > 5 go delete from schema.tableB where userid > 5 go delete from schema.tableC where ID > 5 GO exit" > tempfile | TDSVER=8.0 tsql -H servername -p 1433 -D dbname -U domain\\Administrator -P password < tempfile
die Ausgabe des Bash-Skript ist:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
Default database being set to sbdb
1> 2> 3> 4> 5> 6> 7> 8>
und dann für den Rest meines Skript ausgeführt wird.
Kann mir jemand eine Schritt für Schritt Antwort auf mein Problem geben?
einige Hyperlink Probleme :) –