2012-01-18 89 views
0

爲了使我們的應用程序正常工作,我們需要在每個新連接上執行一條SQL語句,然後將連接分發給應用程序。創建連接時執行sql語句

如何在WAS 7中相應地配置數據源?

我們找到了(不贊成使用的)選項來使用sql語句驗證數據源,希望這個技巧能夠實現(同事現在正在測試它)。這聽起來是錯誤的,因爲我們不是'測試'連接,而是正確設置連接。另外它的棄用,所以這可能會停止與未來版本的websphere

是否有乾淨和正確的方式來做到這一點?

我們想執行的語句是

ALTER SESSION NLS_SORT='GERMAN_AI' 

一種替代approache:該應用程序是基於Hibernate的,所以如果我們能說服休眠使用連接之前執行的語句,這會工作以及。

回答

1

如果是我的話,我只想用 「連接測試」 的方法:

  • 它的工作原理!
  • YAGNI原則說,「擔心被棄用,當它發生... 如果它發生」 - 也許多少年後或從未
  • 你不會找到「正確的」
  • 添加任何商業價值您可以刪除這一點,並與實際增加價值,你的項目的一些真正工作得到

唯一的缺點是,它會被執行時間的連接測試,這可能是人在連接的生命週期中是y次,但是這樣做 - 這是一個非常快速的執行語句,並且是冪等的,所以沒有問題。

0

一種方法是使用自定義的Hibernate方言,因爲您實際上指定了與數據庫交談的「不同」方式。我不知道在哪裏添加初始化代碼。

1

不是任何WAS專家,但是如果您可以設置Tomcat JDBC來提供數據庫連接池,則它具有一個名爲「initSQL」的參數。您可以將其設置爲希望連接池在創建連接時運行的SQL語句。

Tomcat JDBC Connection Pool

A.