创建连接时执行sql语句

问题描述:

为了使我们的应用程序正常工作,我们需要在每个新连接上执行一条SQL语句,然后将连接分发给应用程序。创建连接时执行sql语句

如何在WAS 7中相应地配置数据源?

我们找到了(不赞成使用的)选项来使用sql语句验证数据源,希望这个技巧能够实现(同事现在正在测试它)。这听起来是错误的,因为我们不是'测试'连接,而是正确设置连接。另外它的弃用,所以这可能会停止与未来版本的websphere

是否有干净和正确的方式来做到这一点?

我们想执行的语句是

ALTER SESSION NLS_SORT='GERMAN_AI' 

一种替代approache:该应用程序是基于Hibernate的,所以如果我们能说服休眠使用连接之前执行的语句,这会工作以及。

如果是我的话,我只想用 “连接测试” 的方法:

  • 它的工作原理!
  • YAGNI原则说,“担心被弃用,当它发生... 如果它发生” - 也许多少年后或从未
  • 你不会找到“正确的”
  • 添加任何商业价值您可以删除这一点,并与实际增加价值,你的项目的一些真正工作得到

唯一的缺点是,它会被执行时间的连接测试,这可能是人在连接的生命周期中是y次,但是这样做 - 这是一个非常快速的执行语句,并且是幂等的,所以没有问题。

一种方法是使用自定义的Hibernate方言,因为您实际上指定了与数据库交谈的“不同”方式。我不知道在哪里添加初始化代码。

不是任何WAS专家,但是如果您可以设置Tomcat JDBC来提供数据库连接池,则它具有一个名为“initSQL”的参数。您可以将其设置为希望连接池在创建连接时运行的SQL语句。

Tomcat JDBC Connection Pool

A.