Alexandre, o maquina na qual voce esta executando esse programa possui  o indioma em portugues ?
 
  Se sim tente usar o Locale para setar os carateres regionais.
----- Original Message -----
To: SouJava
Sent: Monday, March 19, 2001 3:02 PM
Subject: Re: [java-list] Xml Sql Utility da Oracle - problema com o formato de n�meros

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 XML
public 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 tabela
public 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 -----
To: SouJava
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