La gema rjb nos permite conectar desde ruby mediante un archivo jar a una base de datos usando el driver JDBC.
Yo lo suelo utilizar desde windows en pequeños programas de migración de tablas de una base de datos a otra.
Una vez instalado ruby, para poder instalar la gema rjb, el sistema te pedirá que te descargues e instales el devkit de ruby, un jdk de java y que configures las variables JAVA_HOME.
Es importante que tengas en cuenta que ambas versiones de ruby y java deben de ser de la misma arquitectura para que funcione correctamente. En caso contrario creará la gema rjb pero después cuando la uses desde los programas te aparecerán errores.
En este caso las conexión es una "legendaria" base de datos de firebird por lo que me descargo el correspondiente jar.
Un ejemplo que cuenta los registros de una tabla sería el siguiente.
require 'rjb'
Rjb::load(classpath = 'C:/Software/Jaybird-2.2.11-JDK_1.8/jaybird-full-2.2.11.jar',['org.firebirdsql.jdbc.FBDriver'])
DriverManager = Rjb::import('java.sql.DriverManager')
begin
sen="Select count(*) from TABLA1"
connection = DriverManager.getConnection('jdbc:firebirdsql://ipserver:3050/carpetas_que_contiene_BD/EJEMPLO.gdb','sysdba','masterkey')
statement = connection.prepareStatement(sen)
result_set = statement.executeQuery
while(result_set.next())
puts result_set.getObject(1).toString
end
ensure
result_set.close if defined?(result_set) && !statement.nil?
statement.close if defined?(statement) && !statement.nil?
connection.close if defined?(connection) && !connection.nil?
end
La culpa fue del spectrum
La culpa fue del spectrum
lunes, 15 de agosto de 2016
sábado, 23 de julio de 2016
Uso de MONITOR en un programa RPGLE
Cuando realizamos un programa intentamos controlar todo lo que puede ocurrir con el fin de que el programa realice correctamente su función. Pero en ocasiones necesitamos monitorizar los posibles errores, para eso tenemos MONITOR.
Mi uso de MONITOR es bastante sencillo, yo introduzco MONITOR en un trozo de código donde me interesa poder controlar cualquier error, no lo uso siempre ni en todos los programas.
El uso de MONITOR es muy simple
Comienza escribiendo MONITOR y se finaliza con ENDMON.
MONITOR;
bloque de código que se quiere monitorizar
ENDMON;
Dentro del bloque a monitorizar el error se controla usando ON-ERROR
ON-ERROR puede controlar cualquier error, un error de programa, un error de fichero, o incluso un código de error específico. Para ello usa *ALL, *PROGRAM, *FILE o el código.
Un ejemplo podría ser este.
MONITOR;
A=B/C;
ON-ERROR *PROGRAM;
A=0;
DUMP;
ENDMON:
En este ejemplo el código ante cualquier error de programa que surgiera en la operación A=B/C, pondría la variable A a 0 y realizaría un vuelco que me permitiera ver con detalle lo ocurrido.
Mi uso de MONITOR es bastante sencillo, yo introduzco MONITOR en un trozo de código donde me interesa poder controlar cualquier error, no lo uso siempre ni en todos los programas.
El uso de MONITOR es muy simple
Comienza escribiendo MONITOR y se finaliza con ENDMON.
MONITOR;
bloque de código que se quiere monitorizar
ENDMON;
Dentro del bloque a monitorizar el error se controla usando ON-ERROR
ON-ERROR puede controlar cualquier error, un error de programa, un error de fichero, o incluso un código de error específico. Para ello usa *ALL, *PROGRAM, *FILE o el código.
Un ejemplo podría ser este.
MONITOR;
A=B/C;
ON-ERROR *PROGRAM;
A=0;
DUMP;
ENDMON:
En este ejemplo el código ante cualquier error de programa que surgiera en la operación A=B/C, pondría la variable A a 0 y realizaría un vuelco que me permitiera ver con detalle lo ocurrido.
sábado, 28 de mayo de 2016
Voz IP para uso doméstico
Hace unos meses que inicie una cruzada para abandonar ONO como mi único proveedor de telefonía fija, móvil e internet.
No voy a entrar en los motivos, pero lamentablemente si funcionaban mal siendo ONO, desde que los compro Vodafone la cosa ha empeorado mucho, los clientes como yo con 11 años de antigüedad somos tratados como despojos y dejamos de interesar. Migrar todos sus servicios y conseguir la baja de todo me ha llevado tiempo, esfuerzo y discusiones.
Pero lo que yo venía a contar es lo contento que estoy de tener contratado un servicio de voz ip sobre mi línea ADSL. Tenía mis dudas de que esto funcionara bien sobre una ADSL clásica de la que nos llega por cable de cobre. Pero si puedo asegurar que funciona y muy bien.
Mi experiencia, no voy a poner la compañía por no hacer publicidad, es a día de hoy totalmente satisfactoria. El precio que pago por mantener el servicio es de 2,5 euros mensuales, llamadas aparte, el coste de las llamadas es muy económico, sobre todo a fijos. Teniendo en cuenta que a día de hoy cada vez se utiliza menos los teléfonos fijos me parece una solución muy recomendable.
Si alguien tiene dudas puede quedar tranquilo, esto funciona y funciona muy bien.
No voy a entrar en los motivos, pero lamentablemente si funcionaban mal siendo ONO, desde que los compro Vodafone la cosa ha empeorado mucho, los clientes como yo con 11 años de antigüedad somos tratados como despojos y dejamos de interesar. Migrar todos sus servicios y conseguir la baja de todo me ha llevado tiempo, esfuerzo y discusiones.
Pero lo que yo venía a contar es lo contento que estoy de tener contratado un servicio de voz ip sobre mi línea ADSL. Tenía mis dudas de que esto funcionara bien sobre una ADSL clásica de la que nos llega por cable de cobre. Pero si puedo asegurar que funciona y muy bien.
Mi experiencia, no voy a poner la compañía por no hacer publicidad, es a día de hoy totalmente satisfactoria. El precio que pago por mantener el servicio es de 2,5 euros mensuales, llamadas aparte, el coste de las llamadas es muy económico, sobre todo a fijos. Teniendo en cuenta que a día de hoy cada vez se utiliza menos los teléfonos fijos me parece una solución muy recomendable.
Si alguien tiene dudas puede quedar tranquilo, esto funciona y funciona muy bien.
lunes, 29 de febrero de 2016
HYLAFAX en Debian
Pequeño manual para la instalación de HYLAFAX en Debian, es muy antiguo, en su día lo realice cuando lo instale sobre un Debian 6, después esa máquina la actualice a Debian 7 y puedo decir que nada de lo que aquí cuento cambiaba de la versión 6 a la 7.
Desconozco si en la versión 8 cambia algo, ya que esa máquina dejo de ser competencia mía y aunque sigue funcionando estoy seguro de que no está actualizada a Debian 8.
Lo primero decir que siempre lo he instalado en pc antiguos y con pocos recursos, nunca en máquina virtual, desconozco en entorno virtual si funcionará correctamente.
Siempre he usado módem de puerto serie, nunca usb, sobre todo porque los usb si son winmodem no funcionan y como siempre me he arreglado con material antiguo, siempre he encontrado un módem por ahí abandonado.
Comenzamos.
Instalar
aptitude
install hylafax-server por dependencias instalará el cliente y
todo lo que este necesite.
Configurar
faxsetup
-server
Aquí
vamos respondiendo a las preguntas para configurar el servidor, todo
queda registrado en dos archivos que luego podremos modificar. Si no
sabes que introducir, los valores por defecto suelen ser validos para
empezar.
Protecion
mode for recived fax poner 0644
Protecion
mode for session logs poner 0644
Protection
mode for ttySx poner 0666
Un
archivo se llama config.ttyS0 se encuentra como todos los
archivos de configuración dentro de /etc/hylafax, ttyS0
es el primer modem en la primera salida serie del pc (com1), si hay
más de un modem, porque gestionamos dos líneas tendríamos otro
config.XXXX (lo que corresponda)
El
otro es config para
la configuración general del sistema, distinguir llamadas nacionales
de internacionales, logs, número máximo de trabajos concurrentes
(nunca superior al de modems conectados), tamaño de página máximo,
número de intentos de conexión, etc... Yo solo uso el prefijo
internacional, el resto de cosas las configuro en el cliente de
windows.
Añadir
mas modems
faxaddmodem
Revisar
el arranque automático del servicio de fax
Al
instalarlo ya suele activarse, pero siempre podemos revisar que este
correcto o desactivarlo para realizar pruebas. Para ello chequeamos
/etc/default/hylafax y
comprobamos que existe la siguiente linea:
RUN_HYLAFAX=1
Añadir
usuarios
Para
añadir usuarios que puedan mandar faxes. Existen dos formas, una
usar el comando faxadduser y
otra editar el hosts.hfaxd
El
primero permite añadir usuarios con su contraseña siguiendo el
siguiente formato:
faxadduser
-p [userpass] username.
Yo
normalmente no uso contraseñas para el usuario de fax por lo que
simplemente escribo faxadduser Luis y de esta forma creo el
usuario Luis sin contraseña.
Si
ahora edito hosts.hfaxd veré lo siguiente
localhost:21::
^Luis@
Por
lo tanto si quiero añadir al usuario Juan solo tengo que editar
hosts.hfaxd y escribir
^Juan@
Salvo
el archivo, reinicio el servidor hylafax con el siguiente comando
/etc/init.d/hylafax restart y el usuario Juan ya podría
enviar y recibir faxes.
Ahora
solo nos faltaría indicar en hosts.hfaxd que queremos enviar faxes
desde cualquier equipo de la red por lo que después de la primera
línea de nuestro hosts.hfaxd y suponiendo que nuestra subred es
192.168.87.0 añadiremos lo siguiente
192\.168\.87\.:::
quedando
nuestro hosts.hfaxd
localhost:21::
192\.168\.87\.:::
^Luis@
^Juan@
Eliminar
Usuarios
Se
pude usar faxdeluser o bien editar hosts.hfaxd y borrar el usuario a
anular.
Recibir
un fax en formato pdf en el buzón de correo
Para
ello hay que crear el fichero FaxDispatch en la ruta de
configuración del programa (/etc/hylafax/).
nano
/etc/hylafax/FaxDispatch
y
dentro escribimos:
FILETYPE=pdf;
SENDTO=FaxEntrada;
Con esto le decimos que nos
envíe a FaxEntrada (que es un alias que contiene una dirección de
correo) un mensaje de correo con el fax adjunto como archivo pdf.
Salvamos el archivo y ahora
editamos /etc/aliases para añadir
FaxEntrada:email@dominio.x
Salvamos /etc/aliases y
ejecutamos el comando newaliases para actualizar el sistema.
Ahora para que nos envíe un
email con un pdf anexado cuano el fax ha sido enviado, lo que seria
un reporte de la situación del fax, creamos FaxNotify
nano /etc/hylafax/FaxNotify
y dentro escribimos
NOTIFY_FAXMASTER=yes;
RETURNFILETYPE=pdf;
Donde
se encuentran los faxes
Recibidos:
/var/spool/hylafax/recvq
Enviados:
/var/spool/hylafax/docq
Información
de las máquinas a las que se ha enviado un fax
/var/spool/hylafasx/info
Procesos
que arranca hylafax
faxgetty:
proceso que espera la recepción del fax
faxq:
encola faxes que están saliendo y entrando. Esta en continuo
funcionamiento y no puede trabajar con más de un fax simultanemente.
hfaxd:
se comunica con los clientes por el puerto 4559
Comandos
interesantes
faxstat
-s (muestra los faxes en cola esperando para ser enviados)
faxstat
-d (muestra los faxes enviados)
faxstat
-r (muestra los faxes recibidos)
faxrm
número_de_trabajo (para borrar un fax de la cola de trabajos)
sendfax
-n -d número fichero1.ps fichero2.ps (enviar un fax desde línea
de comandos, los ficheros tienes que ser tipo ps)
viernes, 8 de enero de 2016
Windows tiene calculadora
El titulo de la entrada es una frase que suelo repetir bastante, por alguna extraña razón en las empresas en las que he trabajado casi todos los usuarios ignoran la calculadora de windows, todo el mundo tiene su ordenador o terminal con acceso a la calculadora de windows, pero casi todos consideran imprescindible también tener una calculadora en su mesa.
Los hay que las tienen grandes, con rollo de papel incluido, otros pequeñas por que las consideran más practicas y funcionales.
Cuando les preguntas el porqué de no usar la calculadora de windows, las respuestas pueden ser el silencio (se les oye pensar... ya esta aquí el informático dando...), esa no funciona bien (si la gente de microsoft lo escuchara), con ella no me aclaro (en todas las empresas hay gente reacia al cambio), necesito el rollo de papel para luego repasar las cuentas (a estos les digo que para eso usen una hoja de cálculo, que para eso pagamos las licencias de office), ¿windows tiene eso? (si es muy completo).
En definitiva aunque la calculadora de windows acompaña al sistema operativo desde su versión 1, parece que no tiene mucho éxito en el entorno laboral que yo conozco, tan solo gente con perfil de sistemas, o curiosamente gente no española (debe ser algo cultural), les he visto usarla.
Por supuesto esto es una apreciación personal seguro que en otros lugares de España y otras empresas esto no ocurre.
Los hay que las tienen grandes, con rollo de papel incluido, otros pequeñas por que las consideran más practicas y funcionales.
Cuando les preguntas el porqué de no usar la calculadora de windows, las respuestas pueden ser el silencio (se les oye pensar... ya esta aquí el informático dando...), esa no funciona bien (si la gente de microsoft lo escuchara), con ella no me aclaro (en todas las empresas hay gente reacia al cambio), necesito el rollo de papel para luego repasar las cuentas (a estos les digo que para eso usen una hoja de cálculo, que para eso pagamos las licencias de office), ¿windows tiene eso? (si es muy completo).
En definitiva aunque la calculadora de windows acompaña al sistema operativo desde su versión 1, parece que no tiene mucho éxito en el entorno laboral que yo conozco, tan solo gente con perfil de sistemas, o curiosamente gente no española (debe ser algo cultural), les he visto usarla.
Por supuesto esto es una apreciación personal seguro que en otros lugares de España y otras empresas esto no ocurre.
Suscribirse a:
Entradas (Atom)
Conduce entre la niebla
La culpa fue del spectrum