我想知道为什么 derby 不考虑在给定数据源(当前示例为 WAS)上定义的属性“currentSchema”?
我的问题与 Nastya 在这篇文章中的问题完全相同:在 DERBY 查询中省略模式 但他/她的最后评论没有答案。
所以,我有一个应用程序处理不同的数据源(相同的数据库,但每个数据源一个模式)。我认为如果我告诉 Derby 使用该数据源,Derby 将使用在数据源上定义的属性“currentSchema”,但是我所有的命名查询都是在模式“DEV”(数据库用户名)上执行的,而不是在我的数据源属性中定义的模式上执行'当前架构'。我知道当查询没有提供模式并且之前没有执行 SET CURRENT SCHEMA 语句时,这是 derby 默认行为,但是......
是否有任何现有的解决方案或即将改进的 Derby 来解决这个用例?(我不认为这是一个问题,因为我认为 Derby 的设计目的是为每个用户使用一个模式)
提前感谢您的任何建议。
PS:要理解我为什么需要这个:我已经编写了脚本来自动将 derby 数据源配置到开发人员的工作站(本地 websphere)中,以便他们可以将他们的应用程序部署/运行到本地数据库而不是常见的 DB2 开发数据库中。但是我会避免在应用程序代码中的每个请求之前执行 SET CURRENT SCHEMA 语句,只是为了解决这个问题......(对其他真实环境的性能影响)当然我不能更改本地数据库以使用除 Derby 之外的其他东西 :)