1

问题

我们想验证 Oracle SQL 语句在语法上是否正确,仅引用已知的表、视图、列等。

Oracle 12c 的 OCI – 只能解析

使用 Oracle 12c 的 OCI(Oracle 调用接口),可以先使用创建语句OCIStmtPrepare(),然后OCIStmtExecute()使用特殊模式调用OCI_PARSE_ONLY。这将导致 Oracle 解析语句而不实际执行它。

Oracle 12 的 OCCI – 不可能?

现在,我们为 Oracle 12c 使用 OCCI(Oracle C++ 调用接口)。似乎没有办法强制 Oracle 解析语句而不执行它。当调用该Connection::createStatement()方法然后调用Statement::status()返回的语句时,Oracle 会告诉您该语句是,PREPARED但解析该语句被推迟到该语句实际执行调用 egStatement::execute()所以似乎没有一种方法可以在不执行的情况下解析该语句。

有人知道使用 OCCI for Oracle 12c 无需执行 SQL 语句即可解析的方法吗?

4

0 回答 0