[Dúvidas]mysql

nasic

Power Member
Boas!
Instalei o mysql server 6 para dar uns toques em sql com java. Já tenho conhecimentos de sqlplus embora estejam um pouco esquecidos.
Tenho algumas duvidas:
1-necessito de mais alguma ferramenta, ou aconselham outra melhora?eu apenas instalei o mysql e crio as bases de dados pela consola mysql;
2-instalei o jdbc e ao fazer a conexão à base de dados, atraves da função Class.forName não sei que dados tenho que por nos parâmetros desta função.Eu apenas quero aceder a uma base de dados criada e gerida por mim.
3-Criei duas tabelas muito simples:
Código:
drop table filmes;
CREATE TABLE filmes (
    id        TINYINT(3) not null,
    titulo        CHAR(30) not null,
    ano        YEAR(4) not null,
    realizador     CHAR(20) not null,
    PRIMARY KEY (id)
);

--ALTER TABLE filmes ADD INDEX (titulo);

drop table elenco;
CREATE TABLE elenco (
    cod_el        TINYINT(3) not null auto_increment,
    titulo_f    CHAR(30) not null,
    nome_actor    CHAR(30) not null,
    PRIMARY KEY (cod_el),
    INDEX (titulo_f),
    FOREIGN KEY (titulo_f) REFERENCES filmes(titulo) ON UPDATE CASCADE ON DELETE RESTRICT
);
Acontece que estou a ter problemas com a chave estrangeira. Já procurei um pouco pelo google, mas parece que a sintaxe da linguagem muda muito de versao para versao.

Notem que estou em ambiente windows, mais precisamente no vista
Por agora são só estas, mas vão surgir mais de certeza:x2:

Cumps
 
1-necessito de mais alguma ferramenta, ou aconselham outra melhora?eu apenas instalei o mysql e crio as bases de dados pela consola mysql;

Precisas do MySQL Connector para Java e, adicionalmente, podes utilizar as GUI Tools que o MySQL tem disponível, como por exemplo, o MySQL Query Browser que te permite criar tabelas e fazer consultas (entre outras coisas) através de uma interface gráfica.

2-instalei o jdbc e ao fazer a conexão à base de dados, atraves da função Class.forName não sei que dados tenho que por nos parâmetros desta função.Eu apenas quero aceder a uma base de dados criada e gerida por mim.

Tens que usar o nome qualificado da classe do driver JDBC que vais utilizar. Em princípio, se estás a utilizar o driver que está disponível no site do MySQL, o nome é "com.mysql.jdbc.Driver". Além de registares o driver, vais precisar de fazer a ligação, pelo que te aconselho a veres os exemplos de como usar o connector no site do MySQL.

Acontece que estou a ter problemas com a chave estrangeira. Já procurei um pouco pelo google, mas parece que a sintaxe da linguagem muda muito de versao para versao.

Verifica qual o engine que estás a utilizar (InnoDB ou MyISAM).
 
Já consegui comunicar com a base de dados finalmente! O connector (jdbc) já tinha instalado. Faltava era uma serie de coisas. Deixo aqui um pequeno tutorial:

-abrir portas no router (não sei se era mm importante);
-criar um utilizador com privilegios atraves do comando grant;
EX: grant all on <nome_bd>.* to <user>@<ip> identified by <password>
-dps é utilizar estes dados no vosso programa;
EX:
Código:
com.mysql.jdbc.jdbc2.optional.MysqlDataSource MySql = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();  
            MySql.setServerName("192.168.2.100");  
            MySql.setPort(3306);  
            MySql.setDatabaseName("bd");  
            MySql.setUser("nasic");  
            MySql.setPassword("****"); 
            
            con = MySql.getConnection();

E está feita a ligação à base de dados.

Espero ter sido util
 
Back
Topo