2010-03-16 37 views
2

我加載SQL腳本長達一個SSMS 2008插件像這樣:SSMS 2008插件 - 執行查詢

  ' create a new blank document 
     ServiceCache.ScriptFactory.CreateNewBlankScript(Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ScriptType.Sql) 

     ' insert SQL statement to the blank document 
     Dim doc As EnvDTE.TextDocument = CType(ServiceCache.ExtensibilityModel.Application.ActiveDocument.Object(Nothing), EnvDTE.TextDocument) 
     doc.EndPoint.CreateEditPoint().Insert(_Output.ToString()) 

是否有辦法來自動執行該語句呢?

謝謝,
馬克

回答

0

我環顧四周,他的對象模型和無法找到「執行」的方法 - 但也必須這樣做的方式...

但外箱略微思考,你可以做到這一點。

// Set the active document 
doc.DTE.ActiveDocument.Activate(); 

// Press F5 - which calls Execute. 
SendKeys.Send("{F5}"); 

好吧,它是一個黑客,但它可能會幫助您解決問題。 :-)

2

在SSMS 2008 R2就應該是這樣的:

doc.DTE.ExecuteCommand("Query.Execute");