1

我爲MSVS 2012開發插件。我需要獲取當前打開的tsql標籤的連接字符串。Visual Studio 2012中插件的連接字符串

我使用IScriptFactory接口成員來獲取MSVS 2010中的連接字符串(我使用ServiceCache.ScriptFactory.CurrentlyActiveWndConnectionInfo.UIConnectionInfo屬性)。 IScriptFactory接口是在Microsoft.SqlServer.SqlTools.VSIntegration.VS.dll程序集中定義的。

對於SSMS 2012,我使用相同的接口,但在SqlPackageBase.dll程序集中定義。

我可以在MSVS 2012(Ultimate RTM)安裝文件夾中找不到Microsoft.SqlServer.SqlTools.VSIntegration.VS.dll和SqlPackageBase.dll程序集。

此外,我試圖找到CurrentlyActiveWndConnectionInfo類和IScriptFactory接口中安裝的所有MSVS 2012程序集,但沒有發現任何東西。

如何獲取MSVS 2012中當前tsql選項卡的連接字符串?

回答

1

SQLEditors.dll( 「... \ Microsoft SQL Server的\ 110個\工具\ BINN \ ManagementStudio \擴展\應用\ SQLEditors.dll 」)組件包含所需信息。 我試圖使用ScriptFactory.Instance.CurrentlyActiveWndConnectionInfo屬性,但它生成InvalidOperationException。 這裏是CurrentlyActiveWndConnectionInfo財產拆解的結果:

public CurrentlyActiveWndConnectionInfo CurrentlyActiveWndConnectionInfo 
{ 
    get 
    { 
     STrace.Params("ScriptFactory", "ScriptFactory.CurrentlyActiveWndConnectionInfo", string.Empty, null); 
     if (ServiceCache.VSMonitorSelection == null) 
     { 
      STrace.LogExThrow(); 
      throw new InvalidOperationException(); 
     } 
     return this.GetCurrentlyActiveWndConnectionInfo(ServiceCache.VSMonitorSelection); 
    } 
} 

我認爲在空ServiceCache.VSMonitorSelection問題。

+0

你可以發佈一個代碼片段嗎?我也對如何檢索連接字符串感興趣:) –

相關問題