自动化Visual Studio sql文档的数据库连接

时间:2016-05-16 09:00:23

标签: visual-studio envdte

enter image description here 在VS中的Transact-SQL编辑器中编辑sql文件时,可以按下连接按钮以显示数据库连接对话框。如何从VS扩展中自动执行此操作?我可以捕获fileOpen事件没问题。有没有人知道连接命令隐藏在DTE中的哪个位置?不只是弹出对话框,而是一个采用连接字符串并连接编辑器窗口的方法。

更新

我列出了所有的VS命令。与连接按钮对应的那个是“SQL.TSqlEditorConnect”。如果没有进入无限循环,我似乎无法调用它,我怀疑这只是打开对话框的命令,而不是创建连接。

2 个答案:

答案 0 :(得分:1)

使用'sqlcmd'如下:

popToRootViewController

如图所示:Executing set of SQL queries using batch file?

修改:: 你试过了吗?

sqlcmd -S <ComputerName>\<InstanceName> -i C:\Temp\ClearTables.sql

如此处所示 - &gt; https://msdn.microsoft.com/en-us/library/w01w7w4c%28v=vs.80%29.aspx

** Second Edit :: **你试过SSH吗?

答案 1 :(得分:0)

感谢MS的SSDT团队的Kevin Cunnane,答案是一个名为ISqlServerObjectExplorerService的服务。这有一个OpenQuery方法,它接受一个连接字符串。

这可以通过标准VS可扩展性模型获得(在您的包中,调用GetService或GetGlobalService,引用此服务)。

ISqlServerObjectExplorerService service = DataPackage.Instance.GetService<ISqlServerObjectExplorerService>(typeof(ISqlServerObjectExplorerService));
if (service != null)
{
    service.OpenQuery(new SqlConnectionStringBuilder(myConnectionString));
}