创建连接时执行sql语句
问题描述:
为了使我们的应用程序正常工作,我们需要在每个新连接上执行一条SQL语句,然后将连接分发给应用程序。创建连接时执行sql语句
如何在WAS 7中相应地配置数据源?
我们找到了(不赞成使用的)选项来使用sql语句验证数据源,希望这个技巧能够实现(同事现在正在测试它)。这听起来是错误的,因为我们不是'测试'连接,而是正确设置连接。另外它的弃用,所以这可能会停止与未来版本的websphere
是否有干净和正确的方式来做到这一点?
我们想执行的语句是
ALTER SESSION NLS_SORT='GERMAN_AI'
一种替代approache:该应用程序是基于Hibernate的,所以如果我们能说服休眠使用连接之前执行的语句,这会工作以及。
答
如果是我的话,我只想用 “连接测试” 的方法:
- 它的工作原理!
- 的YAGNI原则说,“担心被弃用,当它发生... 如果它发生” - 也许多少年后或从未
- 你不会找到“正确的”
- 添加任何商业价值您可以删除这一点,并与实际增加价值,你的项目的一些真正工作得到
唯一的缺点是,它会被执行每时间的连接测试,这可能是人在连接的生命周期中是y次,但是这样做 - 这是一个非常快速的执行语句,并且是幂等的,所以没有问题。
答
一种方法是使用自定义的Hibernate方言,因为您实际上指定了与数据库交谈的“不同”方式。我不知道在哪里添加初始化代码。
答
不是任何WAS专家,但是如果您可以设置Tomcat JDBC来提供数据库连接池,则它具有一个名为“initSQL”的参数。您可以将其设置为希望连接池在创建连接时运行的SQL语句。
A.