Publicado el Deja un comentario

shp2pgsql: el programa no puede iniciarse porque falta libiconv~2.dll

Hola a todos.

¿Te sucede que al ejecutar la utilería de postgis shp2pgsql, en la consola ms-dos de windows, te manda el siguiente mensaje de error?

Esto sucede con algunas versiones superiores a postgresql/postgis 9.2; debido a que las librerías .dll que necesita este programita ya no están más en el directorio bin de la carpeta de instalación de postgresql.

Ahora se encuentran esos .dll dentro de directorio bin/postgisgui dentro de la misma carpeta de instalación de postgresql.

Para solucionar el error, basta con agregar a tu variable de ambiente PATH este directorio, abrir una nueva ventana de consola de ms-dos y volver a ejecutar desde ahí el comando.

¡A convertir shapefiles a postgresql/postgis!

 

Publicado el Deja un comentario

Obtener año, mes o día de un campo fecha en Oracle con EXTRACT.

A veces es necesario obtener sólo una parte de una fecha de un campo tipo datetime en sentencias SQL en Oracle. En un post pasado se explicó como obtener sólo el año, mes o día con la función to_char(). Ahora vamos a ver cómo obtener los mismos datos pero con la función extract().

En el ejemplo siguiente vamos a ver como obtener el día, mes o año de la fecha actual de la base de datos oracle:

A diferencia de la función to_char() que regresa un tipo caracter o alfanumérico, la función extract() regresa el resultado de tipo numérico.

La función extract() también puede extraer la hora, minuto y segundo de un dato tipo datetime:

¡Espero y les sea útil!

 

Publicado el Deja un comentario

MySQL: table is marked as crashed and should be repaired

Después de una falla de energía del servidor de aplicaciones, nuestro sistema administrativo comenzó a enviar el error «table is marked as crashed and should be repaired» al querer acceder a cierta tabla de nuestra base datos.

Antes de restaurar dicha tabla desde un respaldo probamos reparar la tabla con la instrucción SQL de MySQL llamada «repair table» desde un cliente SQL de esta forma:

REPAIR TABLE nombre_tabla;

Donde «nombre_tabla» es el nombre de la tabla que esta enviando el error.

Esto funcionó en nuestro caso y no tuvimos necesidad de restaurar la table dañada desde un respaldo.

¡No olviden visitar a los patrocinadores (anuncios de google)!

 

Publicado el Deja un comentario

psql version 8.4, server version 9.3. Some psql features might not work. CentOS 6.x

Si recibes este mensaje mientras tratas de ejecutar el programa cliente psql para conectarte a postgresql 9.3, es debido a un conflicto de versiones. CentOS 6 lleva por defecto con las utilitarias de conexión de la versión 8.4 y al instalar una versión más actual como la 9.3 puede surgir este conflicto.

Para solucionar este problema sigue los siguientes pasos (a mi me funcionó):

Listamos los paquetes que tenemos instalados de postgresql:

Como se puede observar en mi caso, tenemos paquetes de la versión antigua 8.4.x. Procedemos a desinstalar dichos paquetes (yo estoy seguro que no estoy usando la versión 8) con un usuario con derechos administrativos (yo uso el usuario root):

Una vez esto hecho, si intentamos ejecutar el  programa cliente psql no funcionará, porque el psql por defecto fue desinstalado y el sistema no lo hallará en la ruta de ejecutables:

Por lo tanto procedemos con el siguiente comando:

Una vez realizada la ejecución del comando, entramos con cualquier otro usuario y ejecutamos el programa psql para comprobar que el mensaje ha desaparecido:

¡No olvides visitar a los patrocinadores dando un clic en los anuncios! ¡Me ayudaras a conservar este sitio! ¡Gracias!

 

Publicado el Deja un comentario

ORA-32033: unsupported column aliasing

Oracle arroja este error cuando se utiliza WITH en alguna consulta y se ha olvidado poner la palabra reservada AS. Por ejemplo en este caso:

Lo correcto sería:

No olvides visitar a los patrocinadores (da click en los anuncios) para seguir soportando este sitio.

¡Gracias!

Publicado el Deja un comentario

Instalación Postgres.app: comando psql de Postgresql, no funciona en Mac OS X.

Si después de instalar postgresql, con los paquetes de Postgres.app  en tu sistema Mac OS X , no te funciona el comando psql; es que probablemente aún no hayas agregado el directorio bin de Potgresql en tu variable de ambiente PATH.

Para resolver el problema, abre y edita el archivo .bash_profile que se encuentra en tu directorio raíz y agrega la siguiente línea al final (la ruta del directorio bin de Postgresql puede variar de acuerdo a la versión instalada; se ejemplifica la versión 9.4) y guárdalo:

Una vez terminada la edición de archivo, reinicia la máquina, abre una terminal y ya podrás usar el comando psql.

Aquí puedes encontrar la fuente original

PostgresAppIconLarge

¡Espero y les sea útil!

Publicado el Deja un comentario

Listar las tablas de un usuario en Oracle

A veces necesitamos saber las tablas pertenecientes a un usuario y/o esquema en Oracle. Si queremos saber las tablas que le pertenecen al usuario con el que cual nos encontramos conectados actualmente a la base de datos, usamos la siguiente instrucción sql:

La instrucción anterior además ordena la salida por el campo table_name.

Si lo que queremos saber son las tablas de otro usuario o esquema entonces usaríamos la siguiente sentencia sql:

Igual que la anterior, el resultado lo ordenamos por table_name.

Espero que les sea útil este post.

¡Saludos!

Publicado el Deja un comentario

Problemas de instalación de la nueva version Postgis 2.1.8 en Ubuntu

La última actualización automática de Postgis 2.1.8 falló de pronto en Ubuntu, no la instalaba y marcaba un error.

Al tratar de instalarla manualmente a través de apt-get mostraba una serie de errores, entre ellos uno que decía que no podía sobreescribir una librería, ya que la versión 2.1.7 del paquete liblwgeom también usaba dicha librería:

Buscando en internet la solución, ya que mis bases de datos habían quedado no funcionales, encontré la solución en este artículo.

En mi caso, ejecutando el siguiente par de sentencias o comandos resolvieron el problemas de instalación:

Espero y les sirva. ¡Saludos!

Publicado el Deja un comentario

Pentaho Report Designer 5.4: parametrización sql avanzada.

Utilizamos el software open source Pentaho report designer 5.4 en el trabajo diario para crear reportes que luego publicamos en el servidor de reportes biserver-ce del mismo fabricante.

Recientemente nos vimos en la necesidad de crear consultas sql dinámicas en donde el parámetro a pasar el reporte fuera el nombre de la tabla a consultar. Habíamos creado otros reportes con parámetros dónde lo que pasábamos eran valores de columnas por los que queríamos filtrar los datos, pero esta técnica no funcionó cuando el parámetro representaba el nombre de la tabla.

Nos fuimos a la documentación de este software y no estaba muy clara, ya que omitía varios pasos que en el siguiente video les comparto.

Espero que les sea útil.

¡Saludos!

Publicado el Deja un comentario

Curso PostGIS 2. Periodo 2015-2016

Hola compañeros «SIGistas», les invito a la edición 2015-2016 del Curso Online Base de datos espaciales: PostGIS 2.

«Introducción al curso

Las bases de datos espaciales almacenan y gestionan cartografía SIG de una forma más eficiente y con muchas más posibilidades que los modelos tradicionales de ficheros (p. ej.: shape) otorgando una mayor organización y capacidad para definir comportamientos en nuestro modelo de datos cartográfico.

El profesional de cartografía o analista SIG tras el aprendizaje de PostGIS verá como las limitaciones respecto al análisis espacial de que disponen los SIG de escritorio desaparecen al utilizar SQL espacial. Además de realizar análisis espaciales avanzados podrá diseñar un modelo de datos cartográfico que sea repositorio para la gestión cartográfica desde una base de datos corporativa, implementar reglas para una arquitectura de edición cartográfica cliente-servidor web, validar capas cartográficas, etc.

También toda la teoría y práctica estudiada sobre el OGC, el modelo de geometrías, los predicados espaciales, etc. le será de suma utilidad no solo para PostGIS sino para aprender cómo funciona el análisis espacial en cualquier SIG de escritorio.

Hay que recordar también que todo el SQL espacial aprendido se podrá utilizar desde cualquier cliente SQL, o también desde cualquier programa web o local que el alumno programe en el futuro y que deba conectarse con una base de datos espacial, ya sea en una aplicación web, en un ordenador local o en un dispositivo movil.»

Jose Carlos Martinez Llarios.

Les dejo la liga en CartoSIG en donde pueden encontrar más información.

¡Saludos!