View Javadoc
1   /*
2   *
3   * The DbUnit Database Testing Framework
4   * Copyright (C)2002-2004, DbUnit.org
5   *
6   * This library is free software; you can redistribute it and/or
7   * modify it under the terms of the GNU Lesser General Public
8   * License as published by the Free Software Foundation; either
9   * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21  package org.dbunit.ext.oracle;
22  
23  import oracle.jdbc.OraclePreparedStatement;
24  
25  import org.slf4j.Logger;
26  import org.slf4j.LoggerFactory;
27  
28  import java.sql.PreparedStatement;
29  import java.sql.SQLException;
30  
31  import org.dbunit.dataset.datatype.TypeCastException;
32  
33  /**
34   * NCLOB handler
35   * @author cris.daniluk
36   * @author Last changed by: $Author$
37   * @version $Revision$ $Date$
38   * @since May 3, 2005
39   */
40  public class OracleNClobDataType extends OracleClobDataType {
41  
42      /**
43       * Logger for this class
44       */
45      private static final Logger logger = LoggerFactory.getLogger(OracleNClobDataType.class);
46  
47      public void setSqlValue(Object value, int column, PreparedStatement statement)
48              throws SQLException, TypeCastException
49      {
50      	if(logger.isDebugEnabled())
51      		logger.debug("setSqlValue(value={}, column={}, statement={}) - start",
52      				new Object[]{value, new Integer(column), statement} );
53  
54          OraclePreparedStatement oraclePreparedStatement = (OraclePreparedStatement) statement;
55          oraclePreparedStatement.setFormOfUse(column, OraclePreparedStatement.FORM_NCHAR);
56          statement.setObject(column, getClob(value, statement.getConnection()));
57      }
58      
59  }