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.
Related Posts Plugin for WordPress, Blogger...