sábado, 8 de diciembre de 2012

Importando un DMP en Oracle 11g

Ayer perdí mucho tiempo intentando importar un dmp de Oracle 11g. Probando distintas opciones obtenía errores como

imp-00038: could not convert to environment character set's handle
IMP-00000: Import terminated unsuccessfully

o similares. Lo malo de esto es que en muchos post se explicaba la teoría y el porqué falla, pero nadie publicaba una solución clara. Después de muchas consultas pude dar con dicha solución.


Pasos

  1. Colocar el DMP en la ruta de la bd. En mi caso: C:\oracle\admin\test\dpdump
  2. Ejecutar:
    • impdp 'SYS AS SYSDBA' file=MYDAT01.DMP full=yes
      
    • Si no se tiene creado el usuario de oracle, o el tablespace empieza a fallar. En mi caso faltaba el tablespace:
      CREATE TABLESPACE MY_TS_DATA
        DATAFILE 'C:\oracle\admin\test\TS_DATA.dbf' SIZE 400M
        AUTOEXTEND ON NEXT 200K MAXSIZE 800M; 
      
  3. No olvidar que hay que logarse con el usuario de la exportación.

Información asociada

Aquí encontré la solución.

Este post es muy interesante.

Eso es todo. Al final la clave estaba en el 'SYS AS SYSDBA', ya que yo me logaba con otro usuario. Saludos

jueves, 6 de diciembre de 2012

json.parse: bad control character in string literal

Hoy haciendo una aplicación con ajax el navegador me ha dado un error "json.parse: bad control character in string literal".
Imagen de error con el firebug

El error lo daba la llamada
json = $.parseJSON(string);
El problema era que yo estaba generando un objeto json desde java dentro de una stringbuilder, y una cadena contenía el carácter retorno de carro "\n". Buscando por internet encontré cientos de post que comentaban el problema y hacían perder el tiempo, pues daban soluciones que no funcionaban. En este en concreto se habla del api de json y se especifica que otros caracteres pueden fallar. Al final la solución era crear un objeto json desde java. Este es el trozo de código final en la jsp que llama el js.
Map obj = new HashMap();
obj.put("id", new Long(id_mensaje));
obj.put("cuerpo",mensaje.getCuerpo());
obj.put("fechaRecibido",MensajesUtil.formatDate(mensaje.getFechaEnvio()));
obj.put("usuarioOrigen",MensajesUtil.getName(mensaje.getUsuarioOrigen(), cms));
obj.put("usuarioOrigenId",mensaje.getUsuarioOrigen());
String jsonText = org.json.simple.JSONValue.toJSONString(obj);
out.println(jsonText);
Saludos.

sábado, 17 de noviembre de 2012

CProject. Gestor de proyectos en Android

Desde hace tiempo estoy buscando un gestor de proyectos en android que cumpla con mis necesidades, pero no encuentro ninguno. Así que hace 4 días me pregunté: ¿y si retomo mi proyecto de sincronización de tareas Android-OpenERP y le doy un lavado de cara?. Dicho y hecho. En 4 días, con sus noches, he realizado un pequeño proyectito.

CProject - Créditos del proyecto.

Aún le queda mucho por mejorar. Por ahora sólo se pueden crear proyectos nuevos, tareas en dichos proyectos, y salvar toda la información en SQLite en el propio dispositivo. Por supuesto también se pueden migrar los proyectos a OpenERP mediante Web-Services.
CProject - Action bar con botón que ejecuta Web Service para migrar datos a OpenERP.

En mi lista de TODOs para el proyecto tengo en mente mejorar e implementar una serie de cosas, como por ejemplo que se pinte el diagrama de Gantt, asignar etiquetas a los proyectos, estadísticas, popups para introducir fechas, etc.

CProject - Pantalla de introducción de nombre de proyecto.

En sucesivos post iré comentando el estado del proyecto, he incluso cuando termine algunas características más grabaré algún vídeo para subirlo al blog.
Por último, si alguien está interesado en el proyecto, o desea que implemente alguna característica especial, o simplemente quiere colaborar, que contacte conmigo.
Saludos.
Related Posts Plugin for WordPress, Blogger...