Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

JavaWorld Daily Brew

Character Set Unknown issue in JBoss server



Hi,

I am not able to read String data from SQLInput stream of a customized database object.

Java object corresponding to customized row type is:

public class Excust implements SQLData {
public String numFact;
public String indFact;
public String dFacEmi;
public int mntImp;
public String devTit;

private static String SCHEMA_NAME_POSTFIX = ".EXOBJECT";

public Excust () {
initSchemaName();
}
private void initSchemaName() {
String schemaname = "OPSSCHEMANAME";
sql_type = schemaname;
}
public void readSQL(SQLInput stream, String type) throws SQLException {
sql_type = type;
numFact = stream.readString(); //It is read as ???-- Character Set Unknown
indFact = stream.readString(); //It is read as ???-- Character Set Unknown
dFacEmi = stream.readString(); //It is read as ???-- Character Set Unknown
mntImp = stream.readInt();
devTit = stream.readString(); //It is read as ???-- Character Set Unknown

}

public void writeSQL(SQLOutput stream) throws SQLException {

// champs à écrire dans l'ordre
stream.writeString(numFact.toString());
stream.writeString(indFact.toString());
stream.writeString(dFacEmi.toString());
stream.writeInt(mntImp);
stream.writeString(devTit.toString());
}

When I get the connection object using DriverManager i.e.
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@21.78.233.76:1521:Databasename", "username",
"password");
I am able to get the data.

But using datasource in JBOSS I am not able to get the data saying "Character Set unknown".
Datasource code:

Context initContext = (Context) new InitialContext().
lookup("java:comp/env");
Hashtable params = new Hashtable();
params.put(Context.INITIAL_CONTEXT_FACTORY, org.jnp.interfaces.NamingContextFactory);
String providerURL = "21.78.233.76:1521";
params.put(Context.PROVIDER_URL, providerURL);
initContext = new InitialContext(params);
datasource = (DataSource) initContext.lookup("java:OracleDS");
initContext.close();
Connection connection = datasource.getConnection();

Our database is using WE8ISO8859P15 character set.

Can anybody please suggest why I am not able to get the data when I connect with datasource in JBOSS Server?

Thanks in advance.