0

我是第一次使用 JSQLPARSER,我想知道是否可以检测到远程链接(oracle dblink)?

如果例如一个简单的select * from table1@remote

4

1 回答 1

0

对于JSqlParser,这将不是特殊标识符。但是,它将接受它作为一个普通的表名。您可以使用以下内容提取所有使用的表名:

String sql = "select * from table1@remote";
Statement stmt = CCJSqlParserUtil.parse(sql);
TablesNamesFinder tablesNamesFinder = new TablesNamesFinder();
List<String> tableList = tablesNamesFinder.getTableList(stmt);
assertEquals(1, tableList.size());
assertTrue(tableList.contains("table1@remote"));

之后,您必须检查表名是否与远程 dblink 语法匹配,就像我对 junits 断言所做的那样。

于 2019-03-12T07:45:14.967 回答