Chris Seieroe created CONFIGURATION-533:
-------------------------------------------

             Summary: Can DatabaseConfiguration turn CLOB values into a Strings 
before returning from getProperty(String)?
                 Key: CONFIGURATION-533
                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-533
             Project: Commons Configuration
          Issue Type: Improvement
          Components: Type conversion
    Affects Versions: 1.9
         Environment: Oracle 11gR2 database and JDBC driver
            Reporter: Chris Seieroe
            Priority: Minor


The table I'm using for DatabaseConfiguration stores the value in a CLOB 
column. When the getProperty(String) method searches the table to get the 
values, the Oracle JDBC driver is returning them back as oracle.sql.CLOB 
instances.

I also use Microsoft SQL Server and its latest JDBC drivers on a similar table 
where the value is in a TEXT column. I know, I need to switch the column type 
since it's being deprecated, but that's what it is for now. Anyways, when I get 
a value from that table, it returns back a String instances.

I'm not asking us to support the Oracle-specific class, but perhaps we can add 
some support for the java.sql.Clob interface. Can we modify the 
getProperty(String) method to turn those into Strings? When they're 
java.sql.Clob instances, I cannot use all the nice methods that do type 
conversion since they don't know what to do with a java.sql.Clob instance.

Here is a code sample that might be helpful:

private String convertClob(Clob clobValue) {
    String strValue = null;
    try {
        int length = (int) clobValue.length();
        if (length > 0) {
            strValue = clobValue.getSubString(1, length);
        } else {
            strValue = "";
        }
    } catch (SQLException e) {
        throw new ConversionException(e);
    }
    return strValue;
}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to