Je peux me connecter à une instance Microsoft SQL Server 2008 via une machine virtuelle Mint Linux en utilisant freeTSD et la ligne de commande pour exécuter des instructions SQL. Maintenant, je veux l'automatiser dans un script bash. Je suis capable de se connecter avec succès dans mon script bash:freeTDS bash: Exécution de requêtes SQL dans Microsoft SQL Server
TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domain\\Administrator -P password
J'ai alors 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 lorsque vous faites manuellement via la ligne de commande freeTSD, mais pas quand je mets dans le fichier bash . J'ai suivi ce post: freeTSD & bash.
Voici mon exemple de script bash:
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>
puis le reste de mon script est exécuté.
Quelqu'un peut-il me donner une réponse étape par étape à mon problème?
a corrigé quelques problèmes de liens hypertextes :) –