我可以通过 Mint Linux VM 连接到 Microsoft SQL Server 2008 实例,使用 freeTSD 和命令行在其上执行 sql 语句。现在我想在 bash 脚本中自动执行此操作。我能够成功登录我的 bash 脚本:
TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domain\\Administrator -P password
然后我有我的 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
这在通过 freeTSD 命令行手动执行时有效,但在我放入 bash 文件时无效。我关注了这篇文章:freeTSD & bash。
这是我的 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
bash 脚本的输出是:
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>
然后我的脚本的其余部分被执行。
有人可以逐步回答我的问题吗?