private static void execute(DbConnection conn, String file) throws Exception { Map<String, String> vars = Collections.singletonMap("DATABASE_NAME", DbMailbox.getDatabaseName(1)); SqlFile sql = new SqlFile(new File(file)); sql.addUserVars(vars); sql.setConnection(conn.getConnection()); sql.execute(); conn.commit(); }
@Before public void setUpTest() throws SqlToolError, SQLException, IOException { fixture = new ProductDAO(); File file = new File("src/main/resources/db/scriptDB.sql"); SqlFile sqlFile = new SqlFile(file); try { sqlFile.setConnection(fixture.getConn()); sqlFile.execute(); fixture.getConn().commit(); } finally { fixture.getConn().close(); } }
/** * Abre e executa os comando de um arquivo SQL * * @param enderecoArqSQL <code>String</code> com o endereco do arquivo sql * @return <code>boolean</code> com <code>true</code> caso o arquivo tenha sido aberto e executado * e <code>false</code> caso contrário * @throws SQLException possível erro gerado por má configuração do banco de dados * @throws IOException possível erro ao abrir o arquivo */ protected boolean abrirArquivoSQL(String enderecoArqSQL) throws SQLException, IOException { File arquivo = new File(enderecoArqSQL); SqlFile arquivoSql = new SqlFile(arquivo); boolean abriu = true; arquivoSql.setConnection(conn); try { arquivoSql.execute(); abriu = true; } catch (SqlToolError e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, e.getMessage(), "Agenda Eletrônica - ERRO", 0); e.printStackTrace(); abriu = false; } arquivoSql.closeReader(); return abriu; }