[Resolvido] = Erro ao Criar Tabelas JavaBd /ou Java Derby dentro da aplicação

[b]Bom dia !!!

Pessoal se alguem puder me ajudar

estou com o seguinte problema estou Criando Banco de dados e tabela direto na minha aplicação

porem , só consigo criar apenas uma tabela e preciso criar varias tabelas , se alguem puder me dizer onde estou errando

e me ajudar ficarei grato , segue o codigo abaixo


/*
 * BancoDao.java
 */

package Boleto.Bd;


import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.swing.JOptionPane;

/**
 *
 * @author 
 *
 */

public class BancoDao {
    
    /** Creates a new instance of BancoDao */
    public BancoDao() {
        this("Boleto");                                                         // Nome da Pasta do Banco de Dados
    }
    
    public BancoDao(String BoletoName) {
        this.dbName = BoletoName;
        setDBSystemDir();
        dbProperties = loadDBProperties();
        String driverName = dbProperties.getProperty("derby.driver"); 
        loadDatabaseDriver(driverName);
        if(!dbExists()) {
            createDatabase();
        }
    }
    
    private boolean dbExists() {
        boolean bExists = false;
        String dbLocation = getDatabaseLocation();
        File dbFileDir = new File(dbLocation);
        if (dbFileDir.exists()) {
            bExists = true;
        }
        return bExists;
    }
    
    private void setDBSystemDir() {
    // decide on the db system directory
    // String userHomeDir = System.getProperty("user.home", ".");               // Neste Caso O Systema Decide Diretorio
       String userHomeDir = System.getProperty(".",                             // Caminho Do Banco
      "C:/Java/");                                                              // Caminho Da Maquina do Cliente
       String systemDir = userHomeDir + "Boleto/src/Boleto/Bd/BancoDeDados";    // Caminho Do Banco de Dados
       System.setProperty("derby.system.home", systemDir);
    // create the db system directory
        File fileSystemDir = new File(systemDir);
        fileSystemDir.mkdir();
    }
    
    private void loadDatabaseDriver(String driverName) {
        // load Derby driver
        try {
            Class.forName(driverName);
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
    }
    
    private Properties loadDBProperties() {
        InputStream dbPropInputStream = null;
        dbPropInputStream = BancoDao.class.getResourceAsStream("Configuration.properties");
        dbProperties = new Properties();
        try {
            dbProperties.load(dbPropInputStream);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return dbProperties;
    }
    
    private boolean createDatabase() {
        boolean bCreated = false;
        Connection dbConnection = null;
        String dbUrl = getDatabaseUrl();
        dbProperties.put("create", "true");
        try {
            dbConnection = DriverManager.getConnection(dbUrl, dbProperties);
            bCreated = createTables(dbConnection);
        } catch (SQLException ex) {
        // Inserir Mensagens de Erro
        }
        dbProperties.remove("create");
        return bCreated;
    }

   
    private boolean createTables(Connection dbConnection) {
        boolean bCreatedTables = false;
        Statement statement = null;
        try {
            statement = dbConnection.createStatement();
            statement.execute(strCreateTables);
            bCreatedTables = true;
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return bCreatedTables;
    }

    public void executeSQL_BdClear(String instrucao) {
       try {
        statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        statement.executeUpdate(instrucao);
       }
       catch(SQLException sqlex){
       //System.out.println("InstruçãoSql = "+instrucao);
       JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
       +"o sql passado foi = "+ instrucao);
       }
    }

    public void executeSQL_BdAppend(String instrucao) {
       try {
        statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        statement.executeUpdate(instrucao);
       }
       catch(SQLException sqlex){
       //System.out.println("InstruçãoSql = "+instrucao);
       JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
       +"o sql passado foi = "+ instrucao);
       }
    }

    public void executeSQL_BdNavigator(String instrucao) {
       try {
        statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        resultset = statement.executeQuery(instrucao);
       }
       catch(SQLException sqlex){
       //System.out.println("InstruçãoSql = "+instrucao);
       JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
       +"o sql passado foi = "+ instrucao);
       }
    }
    
    public boolean connect() {
        String dbUrl = getDatabaseUrl();
        try {
            dbConnection = DriverManager.getConnection(dbUrl, dbProperties);
           // stmtSaveNewRecord = dbConnection.prepareStatement(strSaveAddress, Statement.RETURN_GENERATED_KEYS);
            isConnected = dbConnection != null;
        } catch (SQLException ex) {
            isConnected = false;
        }
        return isConnected;
    }
    
    private String getHomeDir() {
        return System.getProperty("user.home");
    }
    
    public void disconnect() {
        if(isConnected) {
            String dbUrl = getDatabaseUrl();
            dbProperties.put("shutdown", "true");
            try {
                DriverManager.getConnection(dbUrl, dbProperties);
            } catch (SQLException ex) {
            }
            isConnected = false;
        }
    }
    
    public String getDatabaseLocation() {
        String dbLocation = System.getProperty("derby.system.home") + "/" + dbName;
        return dbLocation;
    }
    
    public String getDatabaseUrl() {
        String dbUrl = dbProperties.getProperty("derby.url") + dbName;
        return dbUrl;
    }
    
// Começo Metodo Main Apenas Para teste de Conexão
 /*
    public static void main(String[] args) {
        BancoDao db = new BancoDao();
        System.out.println(db.getDatabaseLocation());
        System.out.println(db.getDatabaseUrl());
        db.connect();
        db.disconnect();
    }
  */
  //Final  Metodo Main Apenas Para teste de Conexão

    private Connection dbConnection;
    private Properties dbProperties;
    private boolean isConnected;
    private String dbName;
    private PreparedStatement stmtSaveNewRecord;
    public Statement statement;
    public ResultSet resultset;

    private static final String strCreateTables =
      "Create Table App.Tipo01 (" +
      " Id          Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
      " Nome        VarChar(040), " +
      " Endereco    VarChar(060), " +
      " Numero      VarChar(010), " +
      " Bairro      VarChar(020), " +
      " Cidade      VarChar(030), " +
      " Estado      VarChar(002), " +
      " Cep         VarChar(009), " +
      " NumPostal   VarChar(020), " +
      " CodCep      VarChar(001), " +
      " CodTri      Varchar(001), " +
      " CodCif      Varchar(034), " +
      " Categoria   VarChar(005) " +
      ")"+

      "Create Table App.Tipo02 (" +
      " Id          Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
      " Nome        VarChar(040), " +
      " Endereco    VarChar(060), " +
      " Numero      VarChar(010), " +
      " Bairro      VarChar(020), " +
      " Cidade      VarChar(030), " +
      " Estado      VarChar(002), " +
      " Cep         VarChar(009), " +
      " NumPostal   VarChar(020), " +
      " CodCep      VarChar(001), " +
      " CodTri      Varchar(001), " +
      " CodCif      Varchar(034), " +
      " Categoria   VarChar(005) " +
      ")";

    
    
/*
   private static final String strSaveAddress =
     "INSERT INTO APP.Tipo01 " +
     "(Nome, Endereco, Numero, Bairro, Cidade, Estado, Cep) "+
     "VALUES ('Nome', 'Endereco', 'Numero', 'Bairro', 'Cidade', 'Sp', 'Cep')";
*/


}

qual erro?

quer uma dica: Hibernate =]

[quote=d34d_d3v1l]qual erro?

quer uma dica: Hibernate =][/quote]

estou tentando Criar Duas tabela uma Create Table App.Tipo01

e a outra Create Table App.Tipo02 , porem a tipo01 cria , tipo02 não
Att Javax

vc nao colocou ; (ponto-e-virgula) depois do primeiro comando sql (create table)
abraz

[quote=d34d_d3v1l]vc nao colocou ; (ponto-e-virgula) depois do primeiro comando sql (create table)
abraz[/quote]

Obrigado porem resolvi conforme abaixo


/*
 * BancoDao.java
 */

package Boleto.Bd;


import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.swing.JOptionPane;

/**
 *
 * @author 
 *
 */

public class BancoDao {
    
    /** Creates a new instance of BancoDao */
    public BancoDao() {
        this("Boleto");                                                         // Nome da Pasta do Banco de Dados
    }
    
    public BancoDao(String BoletoName) {
        this.dbName = BoletoName;
        setDBSystemDir();
        dbProperties = loadDBProperties();
        String driverName = dbProperties.getProperty("derby.driver"); 
        loadDatabaseDriver(driverName);
        if(!dbExists()) {
            createDatabase();
        }
    }
    
    private boolean dbExists() {
        boolean bExists = false;
        String dbLocation = getDatabaseLocation();
        File dbFileDir = new File(dbLocation);
        if (dbFileDir.exists()) {
            bExists = true;
        }
        return bExists;
    }
    
    private void setDBSystemDir() {
    // decide on the db system directory
    // String userHomeDir = System.getProperty("user.home", ".");                       // Neste Caso O Systema Decide Diretorio
       String userHomeDir = System.getProperty(".","C:/Java/");                     // Caminho Do Banco
       String systemDir = userHomeDir + "Boleto/src/Boleto/Bd/BancoDeDados";  // Caminho Do Banco de Dados
       System.setProperty("derby.system.home", systemDir);
    // create the db system directory
        File fileSystemDir = new File(systemDir);
        fileSystemDir.mkdir();
    }
    
    private void loadDatabaseDriver(String driverName) {
        // load Derby driver
        try {
            Class.forName(driverName);
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
    }
    
    private Properties loadDBProperties() {
        InputStream dbPropInputStream = null;
        dbPropInputStream = BancoDao.class.getResourceAsStream("Configuration.properties");
        dbProperties = new Properties();
        try {
            dbProperties.load(dbPropInputStream);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return dbProperties;
    }
    
    private boolean createDatabase() {
        boolean bCreated = false;
        Connection dbConnection = null;
        String dbUrl = getDatabaseUrl();
        dbProperties.put("create", "true");
        try {
            dbConnection = DriverManager.getConnection(dbUrl, dbProperties);
            bCreated = createTables(dbConnection);
        } catch (SQLException ex) {
        // Inserir Mensagens de Erro
        }
        dbProperties.remove("create");
        return bCreated;
    }

   
    private boolean createTables(Connection dbConnection) {
        boolean bCreatedTables = false;
        Statement statement = null;
        try {
            statement = dbConnection.createStatement();
            statement.execute(strCreateTableTipo00);
            statement.execute(strCreateTableTipo01);
            statement.execute(strCreateTableTipo02);
            statement.execute(strCreateTableTipo09);
            bCreatedTables = true;
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return bCreatedTables;
    }

    public void executeSQL_BdClear(String instrucao) {
       try {
        statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        statement.executeUpdate(instrucao);
       }
       catch(SQLException sqlex){
       //System.out.println("InstruçãoSql = "+instrucao);
       JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
       +"o sql passado foi = "+ instrucao);
       }
    }

    public void executeSQL_BdAppend(String instrucao) {
       try {
        statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        statement.executeUpdate(instrucao);
       }
       catch(SQLException sqlex){
       //System.out.println("InstruçãoSql = "+instrucao);
       JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
       +"o sql passado foi = "+ instrucao);
       }
    }

    public void executeSQL_BdNavigator(String instrucao) {
       try {
        statement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        resultset = statement.executeQuery(instrucao);
       }
       catch(SQLException sqlex){
       //System.out.println("InstruçãoSql = "+instrucao);
       JOptionPane.showMessageDialog(null,"nao foi possivel executar = "+sqlex
       +"o sql passado foi = "+ instrucao);
       }
    }
    
    public boolean connect() {
        String dbUrl = getDatabaseUrl();
        try {
            dbConnection = DriverManager.getConnection(dbUrl, dbProperties);
           // stmtSaveNewRecord = dbConnection.prepareStatement(strSaveAddress, Statement.RETURN_GENERATED_KEYS);
            isConnected = dbConnection != null;
        } catch (SQLException ex) {
            isConnected = false;
        }
        return isConnected;
    }
    
    private String getHomeDir() {
        return System.getProperty("user.home");
    }
    
    public void disconnect() {
        if(isConnected) {
            String dbUrl = getDatabaseUrl();
            dbProperties.put("shutdown", "true");
            try {
                DriverManager.getConnection(dbUrl, dbProperties);
            } catch (SQLException ex) {
            }
            isConnected = false;
        }
    }
    
    public String getDatabaseLocation() {
        String dbLocation = System.getProperty("derby.system.home") + "/" + dbName;
        return dbLocation;
    }
    
    public String getDatabaseUrl() {
        String dbUrl = dbProperties.getProperty("derby.url") + dbName;
        return dbUrl;
    }
    
// Começo Metodo Main Apenas Para teste de Conexão
 /*
    public static void main(String[] args) {
        BancoDao db = new BancoDao();
        System.out.println(db.getDatabaseLocation());
        System.out.println(db.getDatabaseUrl());
        db.connect();
        db.disconnect();
    }
  */
  //Final  Metodo Main Apenas Para teste de Conexão

    private Connection dbConnection;
    private Properties dbProperties;
    private boolean isConnected;
    private String dbName;
    private PreparedStatement stmtSaveNewRecord;
    public Statement statement;
    public ResultSet resultset;


    
    private static final String strCreateTableTipo00 =
      "Create Table App.Tipo00 (" +
      " Id          Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
      " Nome        VarChar(040), " +
      " Endereco    VarChar(060), " +
      " Numero      VarChar(010), " +
      " Bairro      VarChar(020), " +
      " Cidade      VarChar(030), " +
      " Estado      VarChar(002), " +
      " Cep         VarChar(009), " +
      " NumPostal   VarChar(020), " +
      " CodCep      VarChar(001), " +
      " CodTri      Varchar(001), " +
      " CodCif      Varchar(034), " +
      " Categoria   VarChar(005) " +
      ")";

    private static final String strCreateTableTipo01 =
      "Create Table App.Tipo01 (" +
      " Id          Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
      " Nome        VarChar(040), " +
      " Endereco    VarChar(060), " +
      " Numero      VarChar(010), " +
      " Bairro      VarChar(020), " +
      " Cidade      VarChar(030), " +
      " Estado      VarChar(002), " +
      " Cep         VarChar(009), " +
      " NumPostal   VarChar(020), " +
      " CodCep      VarChar(001), " +
      " CodTri      Varchar(001), " +
      " CodCif      Varchar(034), " +
      " Categoria   VarChar(005) " +
      ")";

    private static final String strCreateTableTipo02 =
      "Create Table App.Tipo02 (" +
      " Id          Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
      " Nome        VarChar(040), " +
      " Endereco    VarChar(060), " +
      " Numero      VarChar(010), " +
      " Bairro      VarChar(020), " +
      " Cidade      VarChar(030), " +
      " Estado      VarChar(002), " +
      " Cep         VarChar(009), " +
      " NumPostal   VarChar(020), " +
      " CodCep      VarChar(001), " +
      " CodTri      Varchar(001), " +
      " CodCif      Varchar(034), " +
      " Categoria   VarChar(005) " +
      ")";

    private static final String strCreateTableTipo09 =
      "Create Table App.Tipo09 (" +
      " Id          Integer Not Null Primary Key Generated Always As Identity (Start With 1, Increment By 1)," +
      " Nome        VarChar(040), " +
      " Endereco    VarChar(060), " +
      " Numero      VarChar(010), " +
      " Bairro      VarChar(020), " +
      " Cidade      VarChar(030), " +
      " Estado      VarChar(002), " +
      " Cep         VarChar(009), " +
      " NumPostal   VarChar(020), " +
      " CodCep      VarChar(001), " +
      " CodTri      Varchar(001), " +
      " CodCif      Varchar(034), " +
      " Categoria   VarChar(005) " +
      ")";
    
    
    
/*
   private static final String strSaveAddress =
     "INSERT INTO APP.Tipo01 " +
     "(Nome, Endereco, Numero, Bairro, Cidade, Estado, Cep) "+
     "VALUES ('Nome', 'Endereco', 'Numero', 'Bairro', 'Cidade', 'Sp', 'Cep')";
*/


}

Resumindo o que ele conseguiu fazer: não dá para criar 4 tabelas com um comando só sem separar os comandos entre si (e isso depende do dialeto de SQL usado).
O que ele fez foi algo mais simples e portável - criar cada tabela uma de cada vez.