我正在创建一个类库,它将.SQL文件作为输入(FileInfo)和连接字符串。然后它尝试对连接执行sql文件。
我决定支持微软的SMO和SQLCMD.exe
在测试中,我注意到在我的环境中的许多机器上,默认情况下没有安装SQLCMD。尝试运行进程SQLCMD.exe时出现程序错误。
在不搜索整个硬盘的情况下查找它的正确方法是什么?是否有一个通用的注册表位置,指定它是否已安装?通常在安装时,我认为设置了PATH位置。
非常感谢。
答案 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