linux – freeTDS bash:在Microsoft SQL Server中执行sql查询
发布时间:2020-12-14 01:00:37 所属栏目:Linux 来源:网络整理
导读:我可以通过Mint Linux VM使用freeTSD和命令行连接到Microsoft SQL Server 2008实例,以在其上执行sql语句.现在我想在bash脚本中自动执行此操作.我能够成功登录我的bash脚本: TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domainAdministrator -P
我可以通过Mint
Linux VM使用freeTSD和命令行连接到Microsoft SQL Server 2008实例,以在其上执行sql语句.现在我想在bash脚本中自动执行此操作.我能够成功登录我的bash脚本:
TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domainAdministrator -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 domainAdministrator -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> 然后我的脚本的其余部分被执行. 有人能给我一步一步解答我的问题吗? 解决方法
我不确定你的样品是如何起作用的.
这是我的bash脚本示例: echo "USE dbname .... exit" > tempfile | TDSVER=8.0 tsql -H servername -p 1433 -D dbname -U domainAdministrator -P password < tempfile # ------------------------------------^^^^ ---- pipe char? 尝试使用’;’焦炭. echo "USE dbname .... exit" > tempfile ; TDSVER=8.0 tsql -H servername -p 1433 -D dbname -U domainAdministrator -P password < tempfile # ------------------------------------^^^^ ---- semi-colon 更好的是,使用shell的“here documents”. TDSVER=8.0 tsql -H servername -p 1433 -D dbname -U domainAdministrator -P password <<EOS 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 EOS IHTH. 当前命令行输入: echo "delete from table where userid > 5 go delete from table where userid > 5 go delete from table where ID > 5 GO exit" < /tmp/tempfile; TDSDUMP=/tmp/freetds.log TDSVER=8.0 tsql -H servername -p 1433 -D dbname -U Administrator -P password <<EOS (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |