我想从数据库中绘制各种列。
似乎没有从SQL Server Management Studio(SSMS)执行此操作的简单方法,所以我创建了一个小型C#应用程序,该应用程序具有表名和列名并进行绘制。
我想在.sql文件中从SSMS调用,类似于:
EXEC "C:\\MyPlotApp.exe [dbo].[Table] ColA"
我发现xp_cmdshell
但此似乎要在服务器上执行,我想在本地执行。
我可以创建一个指向我的App.exe的外部工具(即使无法直接从SQL脚本执行)。作为参数,我列出了传递给我的字符串的$(CurText)
。唯一的问题是没有参数选项可以从“结果”窗口中传递表名和光标列位置。
SSMS支持SQLCMD
模式(查询-> SQLCMD模式)。这使您可以在SSMS查询窗口中使用SQLCMD commands,包括!::
命令来同步启动客户端上的外部程序。例如:
:!! C:\MyPlotApp.exe "[dbo].[Table]" "ColA"
据我所知,没有简单的方法可以将“结果”选项卡的值传递给外部工具。目前,我只能想到三个选项: