我有一个使用FreeTDS从远程MSSQL服务器2008读取的bash脚本。
使用tsql
,我可以进行单独查询,并且所有这些查询都可以完全独立运行。但是,当我运行包含多个查询的bash脚本时,在一些成功的查询之后我得到以下错误:
Error 20003 (severity 6):
Adaptive Server connection timed out
OS error 115, "Operation now in progress"
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server
这是我的freetds.conf
:
#...
[mssql]
host = <my_ip>
port = 1433
tds version = 7.3
以下是我的bash脚本:
# ...
TDSVER=7.3 tsql -S mssql -U $USER -P $PASSWORD < $QUERY1_SQL > $OUT1.CSV
TDSVER=7.3 tsql -S mssql -U $USER -P $PASSWORD < $QUERY2_SQL > $OUT2.CSV
TDSVER=7.3 tsql -S mssql -U $USER -P $PASSWORD < $QUERY3_SQL > $OUT3.CSV
TDSVER=7.3 tsql -S mssql -U $USER -P $PASSWORD < $QUERY4_SQL > $OUT4.CSV
# ...
我读到我得到的错误可能是由于错误的TDS版本,但我不认为是这种情况,因为我可以从提示单独运行每个查询并成功获得结果。我也试过使用TDSVER = 8.0,但没有成功。
我注意到如果我在bash文件中评论一些随机查询,它的工作没有任何错误(不是任何特定的查询,但是,如果我评论query1和query2,例如它工作,但如果我留下query1和query2取消注释并评论query3和query4,它也有效)。这有什么问题?