检测是否安装了SQLCMD.exe的正确方法?

时间:2011-12-28 06:43:31

标签: c# .net sqlcmd

我正在创建一个类库,它将.SQL文件作为输入(FileInfo)和连接字符串。然后它尝试对连接执行sql文件。

我决定支持微软的SMO和SQLCMD.exe

在测试中,我注意到在我的环境中的许多机器上,默认情况下没有安装SQLCMD。尝试运行进程SQLCMD.exe时出现程序错误。

在不搜索整个硬盘的情况下查找它的正确方法是什么?是否有一个通用的注册表位置,指定它是否已安装?通常在安装时,我认为设置了PATH位置。

非常感谢。

2 个答案:

答案 0 :(得分:9)

我有64位机器,64位SQL SERVER(2k8 R2),而我的SQLCMD.EXE位于c:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE

它也在路上。

您可以直接从SQL Server注册表位置查找路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\ClientSetup\path

或者针对不同版本的变体。

这里的一个大问题是SQLCMD是客户端工具的一部分,而不是SQL Server,所以我认为你不能要求SQL Server告诉你。当然,除非你在服务器上运行。

答案 1 :(得分:0)

启动cmd.exe并使用

where sqlcmd.exe