Como conectar o J2ME com o Mysql?

Bom dia a todos.

Estou reiniciando meus estudos em Java, e estou com problemas em conectar minha aplicação J2ME com o Mysql. Dei uma pesquisada aqui no fórum e baixei a atualização que o Rodrigo fez. Mas infelizmente são deu certo. Eis o meu código:

[code]
import javax.microedition.midlet.;
import javax.microedition.lcdui.
;
import java.util.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class Cobaia extends MIDlet implements CommandListener {
private Display display;
private Command Saida, Vai, Volte;
private Form fcadcli;
public TextField tf_nome;
public TextField tf_ender;
public TextField tf_num;
public TextField tf_bairro;
public TextField tf_cidade;
public TextField tf_uf;
private Alert alerta;

private static Connection conn;
private static final String URL = “jdbc:mysql://192.168.0.9:3306/ljsc”;
private static final String DRIVER = “com.mysql.jdbc.Driver”;
private static final String USUARIO = “root”;
private static final String PASSWORD = “”;

public static Connection abreConexao() throws SQLException {
try {
if (conn == null) {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USUARIO, PASSWORD);
}
return conn;
}
catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}

public Cobaia() {
Saida = new Command(“Sair”, Command.EXIT,1);
Vai = new Command(“Confirme”, Command.SCREEN,2);
Volte = new Command(“Retorne”, Command.SCREEN,2);
tf_nome = new TextField("Nome: ", “”, 40, TextField.ANY);
tf_ender = new TextField("Endereço: “, “”, 30, TextField.ANY);
tf_num = new TextField(” Nº: ", “”, 5, TextField.NUMERIC);
tf_bairro = new TextField("Bairro: ", “”, 20, TextField.ANY);
tf_cidade = new TextField("Cidade: ", “”, 30, TextField.ANY);
tf_uf = new TextField("UF: ", “”, 2, TextField.ANY);
display = Display.getDisplay(this);

 fcadcli = new Form("Cadastro de Clientes");
 fcadcli.addCommand(Saida);
 fcadcli.addCommand(Vai);
 fcadcli.addCommand(Volte);
 fcadcli.append(tf_nome);
 fcadcli.append(tf_ender);
 fcadcli.append(tf_num);
 fcadcli.append(tf_bairro);
 fcadcli.append(tf_cidade);
 fcadcli.append(tf_uf);
 alerta = new Alert("Confirmação", "Cadastro Confirmado", null, AlertType.INFO);           
  
 fcadcli.setCommandListener(this);  

}
public void startApp() {
display.setCurrent(fcadcli);
}
public void pauseApp() {
}
public void destroyApp(boolean incondicional) {
}
public void Limpar() {
tf_nome.setString("");
tf_ender.setString("");
tf_num.setString("");
tf_bairro.setString("");
tf_cidade.setString("");
tf_uf.setString("");
}
public void commandAction(Command comando, Displayable s) {
if (comando == Vai) {
Limpar();
display.setCurrent(alerta);
display.setCurrent(fcadcli);
}
if (comando == Saida) {
destroyApp(false);
notifyDestroyed();
}
}
}[/code]

Como vcs podem ver, ainda está no início. Nem chamei a conexão com o banco, pois dá o seguinte erro ao tentar compilar:
C:\Programas\Java\Cobaia\CobaiaBD\src\Cobaia.java:32: cannot access java.util.Properties
class file for java.util.Properties not found
conn = DriverManager.getConnection(URL, USUARIO, PASSWORD);

Se eu comentar esta linha, ocorre este outro erro:
Error preverifying class java.sql.Date
VERIFIER ERROR java/sql/Date.toString()Ljava/lang/String;:
Cannot find class java/util/GregorianCalendar

Alguém teria alguma sugestão ? Estou usando o NetBeans 5.5.1.

Grato pela atenção.

Vc leu o erro?

class file for java.util.Properties not found

O JME tem a classe Properties implementada?

Bem, antes de anexar a atualização ao meu projeto estava detectando. Mas agora não detecta mais.
Alguém poderia me dar um exemplo de como se faz a conexão do J2ME com o Mysql ?

Grato pela atenção.

[quote=Turbo_Drive] Bem, antes de anexar a atualização ao meu projeto estava detectando. Mas agora não detecta mais.
Alguém poderia me dar um exemplo de como se faz a conexão do J2ME com o Mysql ?

Grato pela atenção.[/quote]

Se vc estiver tentando fazer algo realmente para o CLDC e MIDP, então o que vc está tentando fazer é ilegal e não funciona, pois não existe o suporte a SQLException e outras classes que vc tem aí neste seu código Frankeinstein (Desculpe, mas é uma mistura de Mobile com partes de Desktop).

Talvez no CDC seria possível, mas realmente não é a minha praia.

Mais uma coisa que esqueci de mencionar, eu não sei como anexar o driver o JDBC do Mysql ao Classpath. Seria por isso que ele não detecta a classe Util ?
Como eu faço isso ?

Antes de mais nada quero agradecer a sinceridade. O lance é que ainda estou reaprendendo Java novamente e me dei de cara com J2ME, algo que não via a 2 anos.
Também quero pedir desculpas por não esclarecer o que pretendo fazer. Preciso desenvolver um sistema de vendas que rode em Palms, Pocket Pc’s e SmartPhones.
O sistema rodará nos PDA’s acima citados conectados (através de conduits) a um Servidor Local. Os mesmos deverão estar conectados a uma rede por Wireless, Infra vermelho ou Bluetooth.
Basicamente é uma extensão do meu sistema que, atualmente, roda em Desktop.
Os próprios PDA’s fazem conectam-se a base Mysql, efetuam a venda e abatem o estoque.
Ainda estou dando pequenos passos, mas já consegui gerar o aplicativo no simulador e transferi-lo para o Meu nokia 6111.
O próximo passo é conectar-me ao Mysql no simulador.
Alguém saberia como fazê-lo ?

Grato pela atenção.

O negócio é o seguinte. Como o outro amigo disse, o suporte a algumas classes que você tem no JavaSe não existem para o JavaME. Não tem como efetuar uma consulta a um banco mysql localizado na maquina, e também nao tem* como você conectar diretamente a um banco remoto através de rede.

Mas como asssim?
A implementação do ME é para dispositivos muito, mas muito limitados, e com isso nao existem classes do SE ou do EE para o ME. Alias, acho que nem existe o MySql para celulares e PDAs… Bom, enfim, da uma lida na documentação do ME para saber quais classes você pode usar, e como.

*Agora, finalmente, respondendo efetivamente sua pergunta, você consegue sim, realizar a consulta, mas com o uso de WebServices. Da uma olhadinha no google e aqui no guj tb sobre isso.

[quote=Turbo_Drive] Antes de mais nada quero agradecer a sinceridade. O lance é que ainda estou reaprendendo Java novamente e me dei de cara com J2ME, algo que não via a 2 anos.
Também quero pedir desculpas por não esclarecer o que pretendo fazer. Preciso desenvolver um sistema de vendas que rode em Palms, Pocket Pc’s e SmartPhones.
O sistema rodará nos PDA’s acima citados conectados (através de conduits) a um Servidor Local. Os mesmos deverão estar conectados a uma rede por Wireless, Infra vermelho ou Bluetooth.
Basicamente é uma extensão do meu sistema que, atualmente, roda em Desktop.
Os próprios PDA’s fazem conectam-se a base Mysql, efetuam a venda e abatem o estoque.
Ainda estou dando pequenos passos, mas já consegui gerar o aplicativo no simulador e transferi-lo para o Meu nokia 6111.
O próximo passo é conectar-me ao Mysql no simulador.
Alguém saberia como fazê-lo ?

Grato pela atenção.[/quote]

Ahh…agora faz sentido !

Realmente tua aplicação é para PDA…então não adianta querer que tu não vai rodar no Nokia nem a pau, pois ele não é CDC e sim CLDC e não tem DriverManager,SQLException,blá-blá-blá…

Bem, no caso de PDA, não posso te ajudar pois da minha época de PDA quando fiz desenvolvimento usei o AppForge (Visual Basic) e foi simplesmente muito fácil fazer a aplicação.

Devido a tanto comentário aqui negativo a respeito de uma VM de qualidade para Palm e que fosse free, além de problemas de conduit, entre outros, nunca me imaginei investindo em Java no Palm. Para mim é algo que não vira. Não funfa. Java pode ser bom em tudo, menos em PDA.Nunca vi um case de sucesso ou alguém falando que fez e roda legal.

Então o que vejo por aí é toda uma gama de ferramentas para Palm que vão te auxiliar a chegar a onde quer (AppForge,CodeWarrior,PocketStudio,SuperWabba) e que seriam mais apropriadas do que vc investir em Java.

E se vc quer um sistema rodando em múltiplas plataformas (Palm,Pocket PC,etc) o AppForge é para isto mesmo. Ele tem uma VM e vc programa em VB. Coisa de criança de tão fácil. Enfim, desculpa, mas adoro Java, mas neste momento sou até capaz de te recomendar que use o .Net Compact Framerwork da Microsoft do que tentar usar o Java no Palm. Aliás, Palm é coisa do passado né !!! Pois é…eu sei disto…tenho este legado para carregar…

Valeu boone. Obrigado pelo esclarecimento.
Mas os Pocket PC’s e Smartphones utilizam Windows CE (pelo menos os que tenho aqui utilizam). Nesse caso não seria mais viável desenvolver em Java uma vez que ambos estão se popularizando mais do que os Palm’s ? Embora os Palm’s sejam bem mais baratos, eu ainda gostaria de tentar fazer essa conexão PDA e Desktop com Java.
Alguém teria um exemplo ou tutorial que eu possa utilizar como guia ?

Grato pela atenção.