Publicado el Dejar un comentario

Informix: -23103 – code-set conversion function failed due to illegal sequence or invalid value

Resulta que necesitaba duplicar una base de datos informix en mi trabajo para probar unas nuevas implementaciones al sistema en producción.  La versión de informix en producción era 9.x. Me baje la versión de desarrollo de Informix que es gratuita pero versión 11.x. El sistema operativo de producción es Solaris 10. Mi ambiente de desarrollo Windows 7. Instalé la versión de desarrollo de Informix con algunos pequeños detalles pero al final la instaló y funcionó. Me pude conectar a ella sin problema.

Los operadores de la base de datos en producción me pasó el respaldo completo de la base de datos generada con el comando dbexport, una carpeta formada con el nombre de la base de datos más la extensión exp, Adentro trae los datos y los c comandos para crear la base de datos completa. Después de crear el Dbspace donde iba a estar la Base de Datos de Desarrollo me dispuse a crear la Base de Datos con el respaldo proporcionado.

Ejecuté el comando dbimport nombre_base_de_datos nombre_-d dbspace, el comando inició sin problemas, me aparecía en pantalla los comandos que iba ejecutando, la creación de las tablas y la carga de datos, de pronto se detuvo en la carga de los datos de una tabla, el mensaje que me arrojó fue:

“-23103 – code-set conversion function failed due to illegal sequence or invalid value”

Pues a investigar de que se trataba. El problema era el Locale de la base de datos que estaba importando y el locale del ambiente DOS desde donde estaba ejecutando el comando dbimport. Cada base de datos guarda el locale en el que fue creado. Echando un vistazo a las variables de la ventana DOS donde estaba ejecutando el comando, me aparecieron con el valor por omisión de la instalación de Informix, éstas eran CLIENT_LOCALE=en_US.8859-1 y DB_LOCALE=en_US.8859-1. La primera variable de ambiente le indica a Informix el locale del cliente, la segunda variable el locale de la base de datos.

Para obtener en que locale se creó la base de datos hay que ejecutar en la base de datos sysmatser de informix el siguiente comando:

select * from sysdbslocale where dbs_dbsname = 'nombre_base_de_datos';

La columna dbs_collate es la que andamos buscando, esta columna indica el que locale está la base de datos que queremos importar. En mi caso me arrejó en_US.819. Me fui a ventana de DOS donde estaba ejecutando el comando de importación, borre la Base de Datos creada parcialemente por medio de comando dbaccess.

Establecí las variables de ambiente de la siguiente forma: SET CLIENT_LOCALE=en_US.8859-1 y SET DB_LOCALE=en_US.819

Y nuevamente ejecuté el comando dbimport y asunto arreglado.

Espero y les sea de utilidad.

Publicado el Dejar un comentario

SuperGIS Desktop ¿un reemplazo a ArcGIS Desktop?

SuperGIS Desktop, un producto de SuperGeo Technologies Inc. o simplemente SuperGeo, es uno de varios productos orientados a la tecnología SIG desarrollados por esta compañía. Es un SIG (Sistema de Información Geográfica) de escritorio con una interfaz y funcionalidad muy parecida al ArcGIS de Esri. Enseguida un video introductorio de la compañía donde muestran los diferentes productos que desarrollan.

Desde su página permiten descargar los distintos productos totalmente funcionales para probarlos por un mes. Ya me he descargado tanto el software para escritorio como el de servidor. Para poder descargarlo hay que registrarse y autentificarse, ya que la licencia de prueba y la liga de donde bajar el software se envía vía e-mail.

Recomiendo bajar las versiones con fecha más reciente, los beta. Al parecer la nueva versión 3.1 trae algunos detalles que están corrigiendo. Lo que me gustó, es que a los pocos días de descargado e instalado, un representante de la compañía se pone en contacto contigo por medio del e-mail para saber tu opinión y darte soporte si has tenido algún problema con el software.

Si tienes Windows 7 o Vista, hay que hacer algunas modificaciones al sistema antes de instalar el software. Las instrucciones de cómo instalar correctamente el seoftware se encuentran en el mismo correo o en la página de la compañía.

Una vez que lo instalé, lo empecé a probar. La interfaz es muy parecida a la de ArcGIS, así que para los usuarios de éste no será muy difícil aprender a usarlo. Lee y carga archivos del formato shapefile de ESRI así como uno propietario (.geo) y algunos otros más. También soporta conexión a Personal GeoDatabase (.mdb), SQL Server, Oracle Spatial y Postgresql. Conecta a servicios OGC como WMS y WFS. Para una más detallada descripción de las características del programa pueden descargar  éste folleto.

La carga de archivos shapefiles lo hace correctamente y la navegación sobre el mapa sin problemas. En cuanto a la simbología de la las capas, no es tan avanzada como la del ArcGIS pero se defiende. Tuve problemas al querer cargar servicios WMS, no los desplegaba. Se los comenté a los de soporte y me dijeron que bajara la versión más nueva y asunto resuelto, por eso es que recomiendo bajar la versión más nueva, sin importar si es beta.

Para probar la conexión a GeoDatabases instalé Postgresql/Postgis 9.2. Una vez instalada y configurada exporté un archivo shapefile a través de la barra de herramientas Geodatabase Client que no viene por default, por lo que hay que activarla dando click derecho sobre las barras de herramienta y seleccionándola del menú flotante que aparece.

El shapefile fue exportado sin problemas y la carga igualmente. Pero al revisar la tabla creada me dí cuenta que no utiliza el tipo de campo GEOMETRY de Postgis. SuperGIS DEsktop 3.1 al parecer, utiliza su propia estructura para guardar la geometría de las features de la capa. En estos momentos estoy en espera de la respuesta de la compañía para confirmar esta característica. Ediciones sencillas trabajan bien, tanto en shapes como en la capa Potgresql.

En siguientes posts describiré con más detalle las pruebas con este software y los precios, si es que la compañía me los proporciona. Me despido dejando una captura de pantalla de SuperGIS.

SuperGIS