freeTDS bash: l'Exécution de requêtes sql dans Microsoft SQL server

Je suis en mesure de se connecter à un Serveur Microsoft SQL server 2008 exemple au travers d'une machine virtuelle Linux Mint à l'aide de freeTSD et de la ligne de commande pour exécuter des instructions sql sur elle. Maintenant, je veux automatiser cela dans un script bash. Je suis en mesure de réussir la connexion dans mon script bash:

TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domain\\Administrator -P password

J'ai ensuite ma requête SQL:

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

Cela fonctionne quand le faire manuellement via freeTSD ligne de commande, mais pas quand je l'ai mis dans le fichier bash. J'ai suivi ce post: freeTSD & bash.

Voici mon script bash exemple:

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

la sortie du script bash est:

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> 

et puis le reste de mon script est exécuté.

Quelqu'un peut me donner étape par étape de réponse à mon problème ?

correction de quelques lien hypertexte problèmes 🙂

OriginalL'auteur | 2012-10-27