Create table dinamically using java sql types?

Hi! I've an application that reads an XML file. This file contains de definitions of some tables, using java sql types. For example:

<dbtable>

<dbtablename>Name of table</dbtablename>

<dbtablefield>

<name>Name of table field</name>

<type>java.sql.Types.VARCHAR</type>

<length>10</lenght>

<canNull>0</canNull>

<isPK>1</isPK>

</dbtablefield>

</dbtable>

That's a little example of one table, with one field. Is a java.sql.Types.VARCHAR (or is equivalent in int), which has a size of 10, it cannot be null and is a primary key for the table.

Now, the lenght, null, and primary keys are not problem at all. What I want to know, is how do I create de table using the java.sql.Types. I mean, I don't want to hard code:

String s ="CREATE TABLE name (COLUMN VARCHAR(10)...";

Instead, I want to use some "wild cards", as are used in PreparedStatement. The idea of this is that no matter what DB I'm using, I must always be capable of creating the tables not worrying for the DB. I mean, I must be able to create the table in Oracle, SQL Server, DB2, etc., using the same XML and the same java class.

Something like:

String s ="CREATE TABLE name (COLUMN ? (10)...";

someobject.setObject(1,java.sql.Types.VARCHAR);

someobject.execute();//create table

Is this possible? Or do I have to make a map for each DB?

Thanks a lot for your help! Dukes available!

[1656 byte] By [obirenokenobia] at [2007-11-27 8:29:31]
# 1
you can provide some fields at runtime..for example"CREATE TABLE name (COLUMN" + arg[1] +"(10)..."here arg is the string array passed into the main.
vinkjrwla at 2007-7-12 20:19:50 > top of Java-index,Database Connectivity,Java Database Connectivity (JDBC)...