次の方法で共有


SQL クエリの実行 (SQLXMLOLEDB プロバイダ)

この例では、次の SQLXMLOLEDB プロバイダ固有のプロパティについて、使用法を示します。

  • ClientSideXML
  • xml root

このクライアント側の ADO サンプル アプリケーションでは、クライアントで単純な SQL クエリを実行します。ここでは ClientSideXML プロパティが True に設定されているので、FOR XML 句を指定せずに SELECT ステートメントをサーバーに送信します。サーバーではクエリが実行され、クライアントに行セットが返されます。次にクライアントではその行セットに FOR XML 変換が適用され、XML ドキュメントが作成されます。

xml root プロパティでは、生成される XML ドキュメントに対して単一の最上位ルート要素が提供されます。

ms171747.note(ja-jp,SQL.90).gifメモ :
コードでは、接続文字列に Microsoft SQL Server インスタンス名を含める必要があります。また、この例ではデータ プロバイダとして SQL Native Client (SQLNCLI) を使用するよう指定していますが、これには追加ネットワーク クライアントがインストールされていることが必要です。詳細については、「SQL Native Client のシステム要件」を参照してください。
Option Explicit
Sub main()
Dim oTestStream As New ADODB.Stream
Dim oTestConnection As New ADODB.Connection
Dim oTestCommand As New ADODB.Command

oTestConnection.Open "provider=SQLXMLOLEDB.4.0;data provider=SQLNCLI;data source=SqlServerName;initial catalog=AdventureWorks;Integrated Security=SSPI ;"
oTestCommand.ActiveConnection = oTestConnection
oTestCommand.Properties("ClientSideXML") = True
oTestCommand.CommandText = "SELECT TOP 10 FirstName, LastName FROM Person.Contact FOR XML AUTO"
oTestStream.Open
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Properties("xml root") = "root"
oTestCommand.Execute , , adExecuteStream

oTestStream.Position = 0
oTestStream.Charset = "utf-8"
Debug.Print oTestStream.ReadText(adReadAll)
End Sub
Sub Form_Load()
 main
End Sub