Java + Sybase, criar tabela temporária

1 resposta
leoviniga

Olá pessoas, por motivos obscuros tenho que criar uma tabela temporária numa base sybase e estou falhando miseravelmente na missão :smiley:

Vou colocar o código aqui e qualquer ajuda será bem vinda

Obs: não recebo nenhuma excessão mas a tabela não é criada…

Conexão:

public Connection conecta() throws Exception {
			Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
			conn = DriverManager.getConnection("jdbc:sybase:Tds:ip:porta/banco", "login", "senha");
               		return conn;
	}

Execução:

ConectaGtm conexao = new ConectaGtm();
conexao.conecta();
conexao.update("sql aqui");

Método update da classe de conexão:

public synchronized void update(String expression) throws SQLException {
		Statement st = conn.createStatement();
		st.executeUpdate(expression);
		st.close();
	}

1 Resposta

Fexx

Eu não sei o que é tabela temporária. poderia explicar?

Mas se se quer criar uma tabela faz assim:

package br.com.neve.licitacao.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Conexao {

	private static final String DRIVER = "com.sybase.jdbc3.jdbc.SybDriver";
	private static final String LOCAL = "192.168.0.4";
	private static final String PORT = "2638";
	private static final String DATABASE = "teste";
	private static final String URL = "jdbc:sybase:Tds:" + LOCAL + ":" + PORT
			+ "/" + DATABASE;
	private static final String USER = "sysdba";
	private static final String PASSWORD = "sysdba";
	private static Connection conn;

	public static Connection getConexao() {
		try {
			Class.forName(DRIVER);
			conn = DriverManager.getConnection(URL, USER, PASSWORD);
			System.out.println("Conexão efetuada com sucesso.");
			return conn;
		} catch (ClassNotFoundException e) {
			System.out.println("Erro ao localizar drive: " + e.getMessage());
			return null;
		} catch (SQLException e) {
			System.out.println("Erro ao conectar com o banco de dados: "
					+ e.getMessage());
			return null;
		}
	}

	public static void main(String[] args) {

		Conexao conexao = new Conexao();
		Conexao.getConexao();
		try {
			conexao.createTable("create table produtos ( id int IDENTITY  not null , nome varchar(20) not null, preco int not null)");
		} catch (SQLException e) {
			System.out.println("erro");
			e.printStackTrace();
		}
	}

	public void createTable(String sql) throws SQLException {
		Connection conn = Conexao.getConexao();
		Statement stmt = null;
		try {
			stmt = conn.createStatement();
			stmt.execute(sql);
			System.out.println("Tabela de produtos criada com sucesso");
		} catch (SQLException e) {
			System.out.println("Erro na criação da tabela produtos, " + e);
		} finally {
			// closeConnection.close(conn, stmt);
		}
	}

}

Boa sorte.

Criado 1 de fevereiro de 2012
Ultima resposta 1 de fev. de 2012
Respostas 1
Participantes 2