我有兴趣为SQL Server使用某种类似于Oracle SQL * Plus的命令行实用程序。 SQL Server似乎有几个选项:osql,isql和sqlcmd。但是,我不太确定使用哪一个。
他们基本上都做同样的事吗?是否有任何情况下最好使用其中一种?
答案 0 :(得分:32)
使用sqlcmd--它是功能最齐全的产品。
编辑:自从几年前我回复以来,时代已经发生了变化。如今,您还可以在PowerShell中使用invoke-sqlcmd cmdlet。如果您习惯使用PowerShell或计划编写任何复杂程序的脚本,请改用它。
答案 1 :(得分:9)
我不确定你问题的范围是什么,但我相信:
isql使用DB-Library与服务器通信,并且在SQL2000
之后不再包含它osql使用ODBC与服务器进行通信,并且在SQL2005之后将不再包含
sqlcmd使用OLE DB与服务器通信,目前是推荐的命令行工具。
答案 2 :(得分:5)
如果你有SQL SERVER 2005,最好使用SQLCMD而不是OSQL或ISQL,否则使用OSQL代替ISQL。
微软之前宣布ISQL即将退出。果然,SQL Server 2005 RTM中不包含ISQL。 OSQL最终也将逐步淘汰,尽管它仍然包含在SQL Server 2005二进制安装中。考虑到历史SQL Server发布周期,OSQL可能会在2010年向我们提出申请。
SQLCMD具有以下许多优点:
答案 3 :(得分:1)
有一个免费工具“ SQLS Plus”(位于http://www.memfix.com上),它与用于SQL Server的Oracle SQL Plus完全一样。适用于所有SQL Server版本。
非常灵活,具有数据格式(设置行大小,页面大小等),变量(var,&,&&),假脱机,HTML输出等-与isql,osql或sqlcmd相比,有很多新增功能