Olá SouthBYLucXD!
É possível fazer, mas como pre-requisito, o tipo de dados dos campos da tabela precisam ser semelhantes entre ambas as tabelas dos banco de dados e adicionar ao CLASSPATH do projeto, as APIs JDBC do SQLServer e do Firebird.
A rotina para migração dos dados poderia ser feito da seguinte maneira:
[list]Criar um Bean representando a estrutura da tabela;[/list]
/* imports omitidos */
public class NomeTabela {
private int nomeCampo1;
private String nomeCampo2;
private Double nomeCampo3;
/* getters e setters omitidos */
}
[list]Fazer a conexão JDBC com o SQLServer;[/list]
Class.forName("classe_JDBC_SQLServer");
Connection conn = DriverManager.getConnection("urlSQLServer", "userSQLServer", "pwdSQLServer");
Statement stm = conn.createStatement();
[list]Recuperar os dados da tabela e guardá-lo em uma Collection do Bean criado;[/list]
List<NomeBean> lista = new ArrayList<NomeBean>();
ResultSet rs = stm.executeQuery("SELECT * FROM NomeTabela");
while (rs.next()) {
NomeBean bean = new NomeBean(rs.getInt("nomeCampo1"),rs.getInt("nomeCampo2"),rs.getInt("nomeCampo3"));
lista.add(bean);
}
[list]Fazer a conexão JDBC com o Firebird;[/list]
Class.forName("classe_JDBC_Firebird");
Connection conn2 = DriverManager.getConnection("urlFirebird", "userFirebird", "pwdFirebird");
Statement stm2 = conn2.createStatement();
[list]Inserir os dados na tabela do Firebird com os dados guardados na Collection.[/list]
for (NomeBean nb : lista) {
executeUpdate("INSERT INTO NomeTabela(nomeCampo1,nomeCampo2,nomeCampo3) VALUES("+nb.getNomeCampo1()+",'"+nb.getNomeCampo2()+"',"+nb.getNomeCampo3()+")");
}
Rotina completa:
// método principal da classe que fará a tarefa de migração de dados
public void main(String[] args) {
try {
Class.forName("classe_JDBC_SQLServer");
Connection conn = DriverManager.getConnection("urlSQLServer", "userSQLServer", "pwdSQLServer");
Statement stm = conn.createStatement();
List<NomeBean> lista = new ArrayList<NomeBean>();
ResultSet rs = stm.executeQuery("SELECT * FROM NomeTabela");
while (rs.next()) {
NomeBean bean = new NomeBean(rs.getInt("nomeCampo1"),rs.getInt("nomeCampo2"),rs.getInt("nomeCampo3"));
lista.add(bean);
}
rs.close();
stm.close();
conn.close();
Class.forName("classe_JDBC_Firebird");
Connection conn2 = DriverManager.getConnection("urlFirebird", "userFirebird", "pwdFirebird");
Statement stm2 = conn2.createStatement();
for (NomeBean nb : lista) {
executeUpdate("INSERT INTO NomeTabela(nomeCampo1,nomeCampo2,nomeCampo3) VALUES("+nb.getNomeCampo1()+",'"+nb.getNomeCampo2()+"',"+nb.getNomeCampo3()+")");
}
stm2.close();
conn2.close();
} catch(Exception e) {}
}
Boa sorte!
Willes