在 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
' 注释:我使用两个单引号 (' ' ) 转义另一个单引号
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