Pessoal, preciso da ajuda de vocês...
Preciso conectar com um banco de dados do SQL. Criei uma classe de conexão, veja abaixo.
public class DbController {
public Connection con;
public DbController() throws SQLException{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
this.con = DriverManager.getConnection("jdbc:odbc:Driver=SQL Server;Server=localhost;Database=RFID;Uid=sa;pwd=119696");
System.out.println("Conectado ao banco");
}catch(ClassNotFoundException ex){
System.out.println(ex.getMessage());
}
}
public Connection getConnection(){
return this.con;
}
}
Tenho um JButton realiza o seguinte comando.
String sql = "INSERT into Material (Descricao) VALUES ('"+descricao.getText()+"')";
try {
Connection con = new DbController().getConnection();
Statement st = con.createStatement();
st.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "OK");
descricao.setText("");
} catch (SQLException ex) {
Logger.getLogger(CadastrarMaterial.class.getName()).log(Level.SEVERE, null, ex);
}
04/12/2010 12:14:37 tcc.CadastrarMaterial jButton1ActionPerformed
GRAVE: null
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Comprimento inv?lido de cadeia de caracteres ou de buffer
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(JdbcOdbcConnection.java:1503)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:381)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at tcc.DbController.<init>(DbController.java:26)
at tcc.CadastrarMaterial.jButton1ActionPerformed(CadastrarMaterial.java:139)
at tcc.CadastrarMaterial.access$100(CadastrarMaterial.java:24)
at tcc.CadastrarMaterial$2.actionPerformed(CadastrarMaterial.java:71)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Alguem pode me ajudar?
Obrigado