Q181853: HOWTO: Access and Retrieve the SQL QueryPlan from RDO
Article: Q181853
Product(s): Microsoft Visual Basic for Windows
Version(s):
Operating System(s):
Keyword(s): kbGrpDSVB
Last Modified: 09-JAN-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0, 6.0
-------------------------------------------------------------------------------
SUMMARY
=======
Many relational database management systems (RDBMS) use the query plan to
optimize the path a query takes to achieve the best performance. This article
demonstrates how to retrieve the query plan from SQL Server using Remote Data
Object (RDO) through Visual Basic.
MORE INFORMATION
================
Showplan results are returned as individual low severity errors. In order to
access these it is necessary to loop through the Errors collection and print out
the information.
NOTE: By default, the query plan is returned in reverse order as generated. The
code below illustrates how to turn on and view the query plan from Visual
Basic.
HOW TO RETRIEVE THE QUERY PLAN
------------------------------
1. Start a new Visual Basic Standard .exe project.
2. Add a reference to Microsoft Remote Data Object 2.0.
3. Add the following code to the default form and run the project. You will see
the query plan information printed on the form. Here is the code:
Private Sub Form_load()
Dim en As rdoEnvironment
Dim cn As rdoConnection
Dim rs As rdoResultset
Dim strConnect As String
Dim strSQL As String
Set en = rdoEngine.rdoEnvironments(0)
en.CursorDriver = rdUseNone
strConnect = "Driver={SQL Server};Server=YourServerName;Uid=sa;Pwd="
Set cn = en.OpenConnection(dsName:="", _
Prompt:=rdDriverNoPrompt, ReadOnly:=False, Connect:=strConnect)
cn.Execute "Set ShowPlan On", rdExecDirect
strSQL = "select * from sysobjects"
Set rs = cn.OpenResultset(strSQL)
Me.Show
For i = 0 To rdoErrors.Count - 1
Me.Print rdoErrors.Item(i).Description
Next
End Sub
REFERENCES
==========
For information on interpreting the output, please refer to the SQL
documentation.
Additional query words: queryplan show plan kbRDO kbVBp500 kbVBp600 kbdss kbDSupport
kbVBp
======================================================================
Keywords : kbGrpDSVB
Technology : kbVBSearch kbAudDeveloper kbZNotKeyword6 kbZNotKeyword2 kbVB500Search kbVB600Search kbVB500 kbVB600
Issue type : kbhowto
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.