【问题标题】:Using Derby to parse SQL without real tables?在没有真实表的情况下使用 Derby 解析 SQL?
【发布时间】:2013-03-18 16:59:02
【问题描述】:

我是 Derby 的新手,正在尝试确定其中的 SQL 解析器是否可以与真实数据库分开使用。例如,我希望能够获取 SQL 语句中引用的表的列表。我相信这可以通过从给定的 jdbc 嵌入式驱动程序连接中获取 ContextManager,然后从查询树中获取结果集节点来完成(参见 http://rickosborne.org/blog/2010/02/derby-svn-coldfusion-sql-parser/)。

我遇到的问题是 SQL 中的表实际上并不存在于 Derby DB 中(而 Derby 正确地检查了这一点并以 java.sql.SQLSyntaxErrorException: "Table/View 'FOO'不存在。”)那么...有没有办法配置连接,以便在执行 prepareStatement(sql) 时不检查表的存在? (连接是使用 driver.connect("jdbc:derby:memory:dummy;create=true",props) 创建的)

【问题讨论】:

    标签: derby sql-parser


    【解决方案1】:

    也许您可以创建表格?由于它是一个内存数据库,因此创建表将是一项开销非常低的操作。

    【讨论】:

    • 谢谢,布莱恩。我脑海中闪过这个想法……Derby 是否也会为每个不存在的列抛出异常?有没有更简单的方法来解析 SQL 语句并提取其中的表? Derby 似乎是一个不错的选择,但如果可能的话,我不想创建太多的 hack。
    猜你喜欢
    • 2011-08-23
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2020-03-03
    • 1970-01-01
    • 2021-04-19
    • 2018-07-07
    相关资源
    最近更新 更多