在VS中的Transact-SQL编辑器中编辑sql文件时,可以按下连接按钮以显示数据库连接对话框。如何从VS扩展中自动执行此操作?我可以捕获fileOpen事件没问题。有没有人知道连接命令隐藏在DTE中的哪个位置?不只是弹出对话框,而是一个采用连接字符串并连接编辑器窗口的方法。
我列出了所有的VS命令。与连接按钮对应的那个是“SQL.TSqlEditorConnect”。如果没有进入无限循环,我似乎无法调用它,我怀疑这只是打开对话框的命令,而不是创建连接。
答案 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));
}