带有查询的链接表在列名中包含“/”

Posted

技术标签:

【中文标题】带有查询的链接表在列名中包含“/”【英文标题】:LINKED TABLE WITH QUERY INSIDE CONTAINS "/" IN COLUMN NAME 【发布时间】:2019-08-14 13:26:43 【问题描述】:

我正在尝试使用此查询创建指向 oracle 数据库的 H2 链接:

创建链接表 MyLinekTable('oracle.jdbc.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521:orcl','login','password','(SELECT "/BIC/ZBSARK"来自 MYTABLE)');

我得到这个错误:

错误:ORA-01424:转义字符后缺少或非法字符 ; SQL 语句: 创建链接表 P710_ParamFRS2('oracle.jdbc.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521:orcl','login','password','(SELECT "/BIC/ZBSARK" as FLOW FROM ZPARAM_FRS)') [1424-197] SQL 状态:22025 错误代码:1424

我试图用 "\" 和 [] 和 \Q..\E 转义 "/" 但没有成功!

我的远程表(在 oracle 上)包含 2 列:/BIC/ZBSARK 和 PLANT

[创建表 MYTABLE( "/BIC/ZBSARK" varchar(20), 植物 varchar(20))]

当我尝试使用 PLANT 列而不是“/BIC/ZBSARK”列时,效果很好: 创建链接表 MyLinekTable('oracle.jdbc.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521:orcl','login','password','(SELECT "PLAN as FROM FROM MYTABLE)') ;

我试图用 "\" 和 [] 和 \Q..\E 转义 "/" 但没有成功!

有人可以提供帮助或遇到同样的问题吗?

非常感谢!

【问题讨论】:

【参考方案1】:

这是一个 H2 数据库错误。 GitHub上有一个关于它的问题: https://github.com/h2database/h2database/issues/2073

该修复将在 h2-1.4.199 之后的标准版本上提供。

如果需要,您可以从其当前源构建 H2 并使用生成的 jar。 来源在这里: https://github.com/h2database/h2database 构建说明在这里: https://h2database.com/html/build.html#building

【讨论】:

以上是关于带有查询的链接表在列名中包含“/”的主要内容,如果未能解决你的问题,请参考以下文章

LinqToSql - 在选定结果中包含链接对象

SQL Server如何查找表名或列名中包含空格的表和列

如何在 Growl 通知中包含超链接?

将 mysql 表导出到 csv 中,其中数据在列中包含换行符

如何在 unpivot 查询中包含 id 列

当首先使用带有数据注释的 MVC 代码时,如何在显示名称中包含 html 标记?