Bem, estou começando o estudo de Banco de Dados, só q estou encontrando muitos problemas. Já li o material daqui sobre JDBC não consegui fazer os exemplos tb. Confesso que tenho q ler mais sobre o assunto, só que entrei num projeto na universidade e estou tendo q aprender BD na correria. Sei apenas o básico d SQL, nada d Oracle, básico d algebra relacional, por isso os problemas. Se alguem souber site com um tutorial massa eu aceito.
Mas o motivo desse topico nao eh esse… Aqui segue um algoritmo q eu fiz que pega a informação do driver JDBC. Só que está dando o seguinte erro:
[color=blue]SQLException:[/color] [color=red][Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado[/color]
Could not Get Connection
[code]import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCDriverInformation {
static String userid=“scott”, password = “tiger”;
static String url = “jdbc:odbc:”;
static Connection con = null;
public static void main(String[] args) throws Exception {
Connection con = getOracleJDBCConnection();
if(con!= null){
System.out.println("Got Connection.");
DatabaseMetaData meta = con.getMetaData();
System.out.println("Driver Name : "+meta.getDriverName());
System.out.println("Driver Version : "+meta.getDriverVersion());
}else{
System.out.println("Could not Get Connection");
}
}
public static Connection getOracleJDBCConnection(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection(url, userid, password);
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
return con;
}
}
[/code]
O que será que está havendo?
amigo vc criou a fonte de dados no seu sistema?
O que vc está usando por aih?
:arrow: BD
:arrow: IDE
Essas coisas…
[]'s
To usando o Eclipse, o banco d dados eh o MySQL
Certo…
Então vamos lá…
:arrow: Vc tem que baixar o driver JDBC do MySQL: mysql-connector-java-3.1.14-bin
:arrow: Adicionar o mesmo ao classpath do Eclipse
Depois disso é só criar a conexão…
Segue um exemplo que funciona.
[code] // Cria e retorna uma nova conexão com o BD
private Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost/NOMEDOBD";
String user = "root";
String pass = "root";
conn = DriverManager
.getConnection(url, user, pass);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}[/code]
Faz isso e testa…
qlq coisa dá um tok…
[]'s
Putzz cara… malzão eu to usando Oracle. Mas essa aih do MySQL vai ser util… =D
Tava travado num q eu tava usando MySQL. Vo tentar fazer isso la
Mas, sobre o erro… eu acho q eh na linha q eu declaro o url neh n? Pq eu fiz outra classe q testava o driver oracle e rodou direitinho… da uma olhada
[code]import javax.swing.JOptionPane;
public class TestJDBCDriverInstallation_Oracle {
public static void main(String[] args) {
StringBuffer output = new StringBuffer();
output.append("Testando a instalação do driver oracle \n");
try {
String className = "sun.jdbc.odbc.JdbcOdbcDriver";
Class driverObject = Class.forName(className);
output.append("Driver : "+driverObject+"\n");
output.append("Instalação do Driver feita com sucesso");
JOptionPane.showMessageDialog(null, output);
} catch (Exception e) {
output = new StringBuffer();
output.append("Instalação do Driver FALHOU\n");
JOptionPane.showMessageDialog(null, output);
System.out.println("Falhou: Erro do Driver: " + e.getMessage());
}
}
}[/code]
So que nessa eu nao testava conexao com o BD, so testava o driver. O problema dessa minha ta no acesso ao BD eu acho.
Tranquilo…
Mas acho q vc deveria utilizar o driver específico do BD…
Se vc tiver utilizando o Oracle 11g, o driver é: ojdbc6
:arrow: Nome do driver: oracle.jdbc.driver.OracleDriver
:arrow: URL: jdbc:oracle:thin:@localhost:1521:NOMEDOBD
O Oracle só tenho conectado pelo hibernate, não tenho nenhuma conexão jdbc pra exemplo, mas vai achar várias com certeza.
[]'s
eu nuum sei criar um BD

como eh q faz hein? No exemplo ai eu to usando driver bridge odbc… agora nuum sei mais nem se eh oracle nem se eh MySQL. Eu tenho qse certeza q o problema eh na variável url, pq nao existe o BD.
Alguem pode me ajudar?
Vc tah com o SGBD(Oracle ou Mysql) instalado, correto?
No MySQL vc pode criar via console mesmo…
É só usar a senha root para entrar no console e utilizar os comandos básicos de sql pra criar o bd, ou seja:
[code]Create database BLABLABLA;
Drop database BLABLABLA;
Select, etc[/code]
Se tiver usando o Oracle, tem uma tool pra criação do BD, é bem tranquilo, é só ir lendo e seguindo os passos.
Quanto ao driver, vc tá usando ODBC, isso vai deixar vc preso a plataforma, o q inutiliza uma grande vantagem do java q é a independencia de plataforma…
Baixa os drivers q falei cria o bd e testa como falei acima.
Pra ajudar, e não se perder. Aconselho a começar pelo “começo”.
Baixa o Mysql. http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.0/mysql-5.0.51a-win32.zip
Baixa o Driver JDBC do mysql. http://dev.mysql.com/downloads/connector/j/3.1.html
Faz isso dpois vai em frente…
Consegui conectar e fazer uma tabela… agora minha duvida eh simples. Como eu faço pra obter o nome das colunas da minha tabela?
Dá uma olhada em MetaData…
[]'s
Galera, tem alguma maneira de impeidr que numa tabela se insira tuplas idênticas?