【发布时间】:2018-12-18 21:28:16
【问题描述】:
我觉得这应该非常简单,但由于某种原因,我无法在任何地方找到答案。
我正在设置一个 DataSource,它没有很多我想要设置的属性的设置器。因此,我使用 jdbc URL 将我的一些连接属性传递到应用程序中。
我需要使用逗号分隔的模式列表设置 currentFunctionPath。通常,这可以通过运行以下 sql 来实现:
set path ASCHEMA, ANOTHERSCHEMA, YETANOTHERSCHEMA;
但是,我需要应用程序中的所有连接都是这种情况,所以我想使用以下 jdbc URL:
jdbc:db2://localhost:55555/FOLDER:currentSchema=ASCHEMA;currentFunctionPath=ASCHEMA,ANOTHERSCHEMA,YETANOTHERSCHEMA;
然而,每当我这样做时,我都会收到一个 URL 语法错误,而且它似乎总是在到达我的逗号分隔路径列表中的第一个逗号时停止读取该行。
我已经尝试过 &s、引号和双引号等,但我就是不知道如何使它工作。
有人知道怎么做吗?
谢谢!
注意:我需要这样做的原因涉及调用存储过程,这些存储过程调用其他不完全限定的存储过程。我无法修改这些存储过程以使其完全合格。
错误:
Invalid database URL syntax: jdbc:db2://localhost:55555/FOLDER:currentSchema=ASCHEMA;currentFunctionPath=ASCHEMA. ERRORCODE=-4461, SQLSTATE=42815
【问题讨论】:
-
你试过了吗,
currentFunctionPath="ASCHEMA,ANOTHERSCHEMA,YETANOTHERSCHEMA";? -
@user2004685 是的,我确实做到了。我刚刚又试了一次。我收到的错误是:
Invalid database URL syntax: jdbc:db2://localhost:55555/FOLDER:currentSchema=ASCHEMA;currentFunctionPath="ASCHEMA. ERRORCODE=-4461, SQLSTATE=42815 at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)如您所见,错误在第一个逗号处突然停止。它不喜欢逗号。