Olá!

                 Tive este mesmo problema e, como não consegui arrumar um método melhor de solucioná-lo, criei um método que pega um string e transforma o ponto em virugula.
                Pode resolver pra você também.

 
                                Adelina
 

Alexandre da Silva Duarte wrote:

Marcelo,         Eu até que pensei nisto mas eu nem estou trabalhando com variáveis. Eu apenas leio (select) registros e gero um XML, depois leio este mesmo XML e gravo os registros de novo na tabela. A tabela é a EMP do usuário SCOTT, e as colunas que estão gerando o erro são a SAL e a COMM (ambos são number 7,2). O Oracle que estou usando é em inglês. O XML é gerado com ponto mas quando vou ler e gravar de volta na tabela a classe requer que seja vírgula. As duas classes estão abaixo: // Gera o XMLpublic class TesteQueryDB {   public static void main(String[] args) throws Exception {   Connection conn=null;   try {     Class.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:thin:@web:web","scott","tiger");   } catch (ClassNotFoundException e) {
      e.printStackTrace();
      System.exit(1);
  } catch (SQLException e) {
      e.printStackTrace();      System.exit(1);
  }   OracleXMLQuery qry = new OracleXMLQuery(conn,"select * from emp");   String xmlString = qry.getXMLString();   FileWriter fw = new FileWriter("c:\\JavaXmlTeste\\empalex.xml");
  BufferedWriter bw = new BufferedWriter(fw);
  PrintWriter pw = new PrintWriter(bw);   pw.print(xmlString);  // gera arquivo .xml   qry.close();
  pw.close();
  bw.close();
  fw.close();
  conn.close();   System.out.println("Xml gerado com sucesso");
  }
}  // Le o XML para dentro da tabelapublic class TesteSaveDB {   public static void main(String[] args) throws Exception { 
  Class.forName("oracle.jdbc.driver.OracleDriver");
  Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@web:web","scott","tiger");   OracleXMLSave save = new OracleXMLSave(conn,"emp");
  URL url = new URL("file://c/JavaXmlTeste//empalex.xml");   int rowCount = save.insertXML(url);
  save.close();   System.out.println("registros inseridos " + rowCount );
  conn.close();
  }
} Obrigado,Alexandre
----- Original Message -----
Sent: Monday, March 19, 2001 2:25 PM
Subject: Re: [java-list] Xml Sql Utility da Oracle - problema com o formato de números
   Alexandre, esse erro pode nao ser por formatacao de numero, esse erro e generico voce pode estar tentando fazer uma conta com um varchar em vez de um numero, verifique se os conteudos das variaveis sao realmente NUMBER.  O oracle que voce esta usando esta em lingua portuguesa ou inglesa ?  
----- Original Message -----
Sent: Monday, March 19, 2001 8:47 AM
Subject: [java-list] Xml Sql Utility da Oracle - problema com o formato de números
 Pessoal,         Alguém usa o Xml Sql Utility da Oracle ? A geração do Xml a partir da classe OracleXMLQuery está dando certo,  sendo que ela gera os campos númericos com o ponto como separador decimal. Pego o mesmo Xml gerado pela classe OracleXMLQuery e tento gravar os seus registros usando a classe OracleXMLSave, só que ocorre a Exception abaixo: oracle.xml.sql.OracleXMLSQLException: java.sql.SQLException: ORA-01722: invalid number         Aí eu abro o Xml com um editor qualquer e altero os pontos dos campos númericos para vírgula, aí a classe OracleXMLSave grava ok.        Alguém já passou por isso ou sabe algo a respeito ?  Obrigado,Alexandre

Responder a