WebSphere Application Server により、Application Server の該当する例外への異なるデータベース SQL エラー・コードのマッピング用に DataStoreHelper インターフェースが提供されます。
異なる SQL エラーやコードでも、同じ意味を持つと思われるものが、 さまざまなデータベース・ベンダーから提供されている場合があるため、エラー・マッピングは必要です。 例えば、失効した接続例外のコードが、データベースによって異なる場合があります。 DB2 SQLCODE が 1015、1034、1036 などの場合は、データベ ースに一時的に問題があるため、接続が使用できなくなっていることを示して います。 また、Oracle SQLCODE では 28、3113、3114 などの場合に、 同じ状況を示しています。
これらのエラー・コードを標準的な例外にマッピングすると、ア プリケーションを異なる WebSphere Application Server のインストール間で 移植可能にする整合性が提供されます。 次のコード・セグメントは、 エラー・マップに 2 つのエラー・コードを追加する方法を示しています。
public class NewDSHelper extends GenericDataStoreHelper { public NewDSHelper(java.util.Properties dataStoreHelperProperties) { super(dataStoreHelperProperties); java.util.Hashtable myErrorMap = null; myErrorMap = new java.util.Hashtable(); myErrorMap.put(new Integer(-803), myDuplicateKeyException.class); myErrorMap.put(new Integer(-1015), myStaleConnectionException.class); myErrorMap.put("S1000", MyTableNotFoundException.class); setUserDefinedMap(myErrorMap); ... } }