【发布时间】:2012-11-18 07:32:46
【问题描述】:
在 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 中的查询:
子提取_CLOB()
将 SQL 调暗为字符串
将 OraDynaSet 调暗为对象
'评论:我使用两个单引号 (' ' ) 转义另一个单引号
SQL = "select xmltype(XML_FIELD).extract(''//XML_TAGNAME/text()'').getStringVal () 作为 NEW_COL 来自 TAB_1,其中 TEST_ID = 123"
设置 OraDynaSet = objDataBase.DBCreateDynaset(SQL, 0&)
结束子
【问题讨论】:
-
进入调试模式,打印出SQL的值并贴出来。