Conexao Hibernat java desktop

6 respostas
leandrovrb

Ola pessoal,

Tenho uma aplicacao desktop java, e só utilizo a classe conexao para instanciar a conexao com o banco de dados.
Preciso desenvolver uma aplicação que sera acessada por dois computadores, acredito que terei de usar a opção .properties,
como posso faze isto??? tenho abaixo meu codigo

package BD;
import java.sql.*;
import javax.swing.*;


public class conexao
{
    
    final private String driver = "org.firebirdsql.jdbc.FBDriver"; // driver p coneccao
    final private String DATABASE = "C:\\photonclin\\BD\\BD.FDB"; // caminho feito pela ferramentas adm do painel de controle
    final private String IP = "localhost";
    final private String STR_CON = "jdbc:firebirdsql://" + IP + ":3050/" + DATABASE;
    final private String USER = "SYSDBA"; //login do BD
    final private String PASSWORD   = "masterkey";//senha do BD
    private Connection conexao; // responsavel por efetuar a conexao com o BD o nome "conexao"
    public Statement statement; // Abrir caminho ate o local do BD
    public ResultSet resultset; // Armazenar os comandos SQL.
    
    
    public boolean conecta()
{
        boolean result = true;
        try
{
            Class.forName(driver);
           conexao = DriverManager.getConnection(STR_CON, "SYSDBA", "masterkey");
            //JOptionPane.showMessageDialog(null,"Conectou");
        }
        
        catch(ClassNotFoundException Driver)
{
            JOptionPane.showMessageDialog(null,"Driver n�o Localizado"+ Driver);
            result = false;
        }
catch(SQLException Fonte)
{
    JOptionPane.showMessageDialog(null,"Deu erro na conexao "+"com a fonte de dados: "+ Fonte);
    result = false;
}
        return result;
        
        
    }

6 Respostas

D

Eu utilizado essa conexão, funciona normal para acessar o servidor. Eu utilizo o SQL SERVER

public Connection conectaBanco() throws ClassNotFoundException, SQLException{
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		String connectionUrl = "jdbc:sqlserver://nomeServidor;databaseName=nomeDoBanco";
		Connection con = DriverManager.getConnection(connectionUrl, "usuarioBanco", "senhaBanco");
		return con;
	}
leandrovrb

Quero poder mudar o caminho do BD sem precisar compilar a classe, neste caso que voce citou acima nao resolveria meu problema!
Alguem sabe como resolver este impasse?

romarcio

leandrovrb:
Quero poder mudar o caminho do BD sem precisar compilar a classe, neste caso que voce citou acima nao resolveria meu problema!
Alguem sabe como resolver este impasse?

Como você mesmo disse, pode usar properties.
Caso não saiba como, da uma lida nesse tutorial que montei sobre como criar e ler uma arquivo do tipo properties: http://mballem.wordpress.com/2011/03/31/manipulando-arquivos-de-propriedades/

leandrovrb

Ate criei de acordo com seu passo a passo o arquivo.properties mas nao sei como instanciar em uma classe para utiliza-lo,
quando fiz acima iniciava com conexao con; con.conecta(); e conseguia ter acesso ao BD, como Faço com o properties???
Vlw :?: :stuck_out_tongue:

ferreira2006

Isso é explicado na (Listagem 6. Lendo arquivo jdbc.properties) do link repassado acima…

romarcio

Isso mesmo, na listagem 6 mostra, mas vou te dar um exemplo de como poderia fazer.

public class LoadProperties {
    private static Properties load;

    public static Properties getLoad() {
        return load();
    }

    private static Properties load() {
        Properties properties = new Properties();
        try {
            FileInputStream fis = new FileInputStream("C:\\TutorialArquivos\\jdbc.properties");
            properties.load(fis);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return properties;
    }
}

public class conexao  
{  
      
    private static final String driver = LoadProperties.getLoad().getProperty("jdbc.driver"); // driver p coneccao  
    private static final String DATABASE = LoadProperties.getLoad().getProperty("jdbc.dataBase"); // caminho feito pela ferramentas adm do painel de controle  
    ....
}
Criado 3 de abril de 2011
Ultima resposta 4 de abr. de 2011
Respostas 6
Participantes 4