Problema ao executar query no sybase

4 respostas
B

Boa Tarde, Tudo bem pessoal?

Seguinte, to com um baita problema... Nao manjo nada de SYBASE e to tendo um erro ao executar uma query super simples... Sera que alguem pode me ajudar??

Execução da query:

public Double buscaSaldoCartaoPresente(String nroCartao) {

        Double saldo = null;
        
        System.out.println("Entrei na busca de saldo");

        System.out.println("buscaSaldoCartaoPresente()");
        System.out.println("Numero Cartao = " + nroCartao);
        String sSql = "";

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        
       
        try {

            sSql = "select nr_cart_prsn,vl_sald_atua from cart_prsn where nr_cart_prsn = '" + nroCartao + "'";
            
            System.out.println("SQL = " + sSql);

            connection = DataBaseConnectionCRE.getConnection();
            preparedStatement = connection.prepareStatement(sSql);

            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()) {
                saldo = resultSet.getDouble("vl_sald_atua");
            }

        } catch (Exception e) {

            System.out.println("Database Error: " + e.getMessage());
            System.out.println(e.getMessage());
            e.printStackTrace();

        }

Muito simples, é só um select e mesmo assim não funciona... o erro é o seguinte:

09/01/26 15:13:00 Entrei na busca de saldo
09/01/26 15:13:00 buscaSaldoCartaoPresente()
09/01/26 15:13:00 Numero Cartao = 8800001300006839000157
09/01/26 15:13:00 SQL = select nr_cart_prsn,vl_sald_atua from cart_prsn where nr_cart_prsn = '8800001300006839000157'
09/01/26 15:13:00 Entrei na classe de conexao
09/01/26 15:13:00 Conectei
09/01/26 15:13:00 Conectei de novo
09/01/26 15:13:00 Database Error: 25S01
09/01/26 15:13:00 [oias][Sybase JDBC Driver]Not in local manual transaction mode.
09/01/26 15:13:00 java.sql.SQLException: [oias][Sybase JDBC Driver]Not in local manual transaction mode.
09/01/26 15:13:00 	at com.oracle.ias.jdbc.base.BaseExceptions.createException(Unknown Source)
09/01/26 15:13:00 	at com.oracle.ias.jdbc.base.BaseExceptions.getException(Unknown Source)
09/01/26 15:13:00 	at com.oracle.ias.jdbc.base.BaseConnection.rollback(Unknown Source)
09/01/26 15:13:00 	at oracle.oc4j.sql.spi.ManagedConnectionImpl.callRollback(ManagedConnectionImpl.java:640)
09/01/26 15:13:00 	at oracle.oc4j.sql.spi.ConnectionHandle.rollback(ConnectionHandle.java:150)
09/01/26 15:13:00 	at br.com.renner.dao.CreditoDAO.buscaSaldoCartaoPresente(CreditoDAO.java:75)
09/01/26 15:13:00 	at br.com.renner.service.CreditoService.buscaSaldoCartaoPresente(CreditoService.java:10)
09/01/26 15:13:00 	at br.com.renner.action.front.CreditoAction.execute(CreditoAction.java:19)
09/01/26 15:13:00 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
09/01/26 15:13:00 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
09/01/26 15:13:00 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
09/01/26 15:13:00 	at java.lang.reflect.Method.invoke(Method.java:585)
.......

Por favor, sera que alguem pode me ajudar??? Essa poraria do SYBASE só ta me dando dor de cabeça...

Abração pessoal, vlw!

4 Respostas

robinsonbsilva

http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/rtrb_dsaccess6.html

T

http://mail-archives.apache.org/mod_mbox/db-ojb-user/200309.mbox/<[email removido]>

Pedrosa

Cara qual driver JDBC vc esta usando?

Ao usar jdbc prefira o uso de PreparedStatement ex:

String sql = " SELECT HOSFML_COD FROM DB2INST2.HOSBEN  WHERE HOSCNT_COD = ? AND HOSBEN_MTR_FUN= ? ";
pstmt = conn.prepareStatement(SQL);
pstmt.setString(1, cnt_cod);
pstmt.setString(2, mtr_cod);

Evite dor de cabeça com com as aspas, vc seta o tipo de dados e o driver se vira, por falar em driver use o jtds com Sybase:
http://jtds.sourceforge.net/index.html

B

Estou usando preparedStatement amigo, este não é o problema…
Mas vou tentar usar as outras dicas, espero que funcione.

Criado 26 de janeiro de 2009
Ultima resposta 26 de jan. de 2009
Respostas 4
Participantes 4