我需要使用批处理文件查询sql server数据库。我将这些cmdlines放在批处理文件中。当我运行批处理文件时。在进行可信连接后,光标停留在那里。
OSQL -E
use db1
SELECT count(*) FROM table_01 t1
left join table_02 t2 on t1.tableID = t2.tableID
WHERE t1.Date < '20110724'
Go
有什么建议吗?
答案 0 :(得分:2)
我是这样做的。
首先,构建所需的SQL脚本,并将其存储为简单的文本文件。
接下来,使用SQLCMD(或OSQL,或者,思想,ISQL)来调用该文件,如下所示:
SQLCMD -S %1 -E -b -h-1 -I -d tempdb -i BulkDeploy.txt > BulkDeploy_%DateString%.txt
其中:
SQLCMD等。人。有很多参数,请在联机丛书中查看。批量参数可以实现进一步的细微之处。
答案 1 :(得分:1)
osql有一个简单的功能。
例如,我使用
从e:\ backupdb.txt运行SQL命令osql -S servername -U user -P password -i e:\backupdb.txt
它完成了工作