VBで以下のクエリを実行しているときにエラーが発生します(このクエリを実行するためにマクロを使用しています)。しかし、ORACLEでは、同じクエリでファイルが実行され、期待どおりの結果が得られます。「XML_FIELD」は、XMLデータを含むCLOBであることに注意してください。VBマクロを使用して「XML_FIELD」からデータを抽出しようとしています。
SQLでのクエリ:正常に実行されます:
---> select xmltype(XML_FIELD).extract('// XML_TAGNAME / text()')。getStringVal()as NEW_COL from TAB_1 where TEST_ID = 123
VBのエラー:SQL実行エラーora-00936式がありません
VBAでのクエリ:
Sub Extract_CLOB()
Dim SQL As String
Dim OraDynaSet As Object
'コメント:2つの単一引用符('')を使用して、他の単一引用符をエスケープしています
SQL = "select xmltype(XML_FIELD).extract('' // XML_TAGNAME / text()'')。getStringVal()as NEW_COL from TAB_1 where TEST_ID = 123 "
Set OraDynaSet = objDataBase.DBCreateDynaset(SQL、0&)
End Sub