/**
  * Returns the NLS_NChar_Characterset of the oracle database. Used for NCHAR, NVARCHAR2 and NCLOB.
  *
  * @param stmtExecuter <code>StatementExecuter</code> instance to perform the action</code>.
  * @return String declaring the used characterset
  * @exception SQLException Description of the Exception
  */
 private String getNLS_NChar_Characterset(StatementExecuter stmtExecuter) throws SQLException {
   // see
   // http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/server.817/a76966/ch2.htm#97247
   try {
     return stmtExecuter.getSingleRowColAsString(
         "select VALUE from V$NLS_PARAMETERS where PARAMETER='NLS_NCHAR_CHARACTERSET'");
   } catch (SQLException e) {
     throw e;
   } catch (Exception e) {
     throw new DatabaseException(e);
   }
 }
 /**
  * @param domain Description of the Parameter
  * @param sequenceParameters Description of the Parameter
  * @param stmtExecuter Description of the Parameter
  * @exception SQLException Description of the Exception
  * @see #createSequence(AbstractDomain,String,StatementExecuter) *
  */
 public void createSequence(
     AbstractDomain domain, String sequenceParameters, StatementExecuter stmtExecuter)
     throws SQLException {
   try {
     stmtExecuter.executeUpdate("DROP SEQUENCE " + domain.getSequenceName());
   } catch (SQLException e) {
     // Ignore this exception since sequence may not be there.
   } catch (Exception e) {
     throw new DatabaseException(e);
   }
   try {
     if (sequenceParameters == null) {
       sequenceParameters = "";
     }
     stmtExecuter.executeUpdate(
         "CREATE SEQUENCE " + domain.getSequenceName() + " " + sequenceParameters);
   } catch (SQLException e) {
     throw e;
   } catch (Exception e) {
     throw new DatabaseException(e);
   }
 }