PDA

Ver la Versión Completa : Problema con JDBC


victork_py
01-07-2003, 19:27:21
Hola a todos, estoy desarrollando una aplicación web con JSP y tomcat 4.1 con Firebird 1.0.

Accedo a la base de datos mediante el JDBC driver (JDBC_FirebirdSQL-1.0.0) y ejecuto algunas sentencias SQL.
El problema que tengo es que cuando trato de ejectuar un INSERT con string que incluyen asento( á, é, í, ó, ú) o "ñ", esta me genera una excepción:

GDS Exception. arithmetic exception, numeric overflow, or string truncation

Pero si no incluyo ninguno de esos caracteres, se ejecuta sin problemas. Los campos ya los tengo asignado el charset "ISO8859_1", y si pruebo la misma sentencia INSERT directamente a la base de datos, se ejecuta sin problemas.

Tampoco es problema de la página JSP, ya que a esta le asigno el charset ='iso-8859-1".

Cómo puedo solucionarlo?.

Otra pregunta, investigando la web encontré un tal InterClient que aparentemente es también para JDBC, alguien me puede dar comentarios de InterClient?, cual es la diferencia con el JDBCdriver de Firebird?

victork_py
01-07-2003, 20:53:44
Me autorespondo, sólo me faltaba un parámetro mas.
En vez de:

conn = DriverManager.getConnection("jdbc:firebirdsql:localhost:c:\\DB_Firebird\\test.gdb", "SYSDBA", "masterkey");

Uso:
conn = DriverManager.getConnection("jdbc:firebirdsql:localhost:c:\\DB_Firebird\\test.gdb?lc_ctype=ISO8859_1", "SYSDBA", "masterkey");

O sea, el parámetro lc_ctype es el que indica el juego de caracteres.

richy08
16-06-2007, 00:18:08
Hola a todos, estoy desarrollando una aplicación web con JSP y tomcat 4.1 con Firebird 1.0.

Accedo a la base de datos mediante el JDBC driver (JDBC_FirebirdSQL-1.0.0) y ejecuto algunas sentencias SQL.
El problema que tengo es que cuando trato de ejectuar un INSERT con string que incluyen asento( á, é, í, ó, ú) o "ñ", esta me genera una excepción:

GDS Exception. arithmetic exception, numeric overflow, or string truncation

Pero si no incluyo ninguno de esos caracteres, se ejecuta sin problemas. Los campos ya los tengo asignado el charset "ISO8859_1", y si pruebo la misma sentencia INSERT directamente a la base de datos, se ejecuta sin problemas.

Tampoco es problema de la página JSP, ya que a esta le asigno el charset ='iso-8859-1".

Cómo puedo solucionarlo?.

Otra pregunta, investigando la web encontré un tal InterClient que aparentemente es también para JDBC, alguien me puede dar comentarios de InterClient?, cual es la diferencia con el JDBCdriver de Firebird?






:( Hola a todos mi problema es muy parecido pero yo quiero conectarme desde un servlet y busque en los foros y no encontre informacion alguien me puede decir cual es la cadena de conexion el servidor esta en una maquina remota y es sql 2005 server y mis paginas estan construidas con el netbeans bajo la plataforma de j2ee cualquier comentario gracias este es el fragmento de codigo que utilizo para tratar de conectarme
*/
public CrearConeccion() {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch ( ClassNotFoundException e ){
System.out.println("ERROR: Error al cargar la clase del Driver");

}
}

public static Connection getConnection() throws SQLException {
String url = jdbc:sqlserver://SITISERVER/SITISQL_05;databaseName=PMR";
String user = "SITI";
String pass = "SITIPMR ";
return DriverManager.getConnection(url,user,pass);
}

*/