Buscar

Gregorio J. Bolívar B.

Blog del conocimiento informático, de ayuda a los usuarios que necesiten de tips tecnológicos. . . . Perfil=> https://www.linkedin.com/in/gregorio-bolivar

Ejecuta un jar con interfaz gráfica en raspberry al inicio del sistema.

Buenas estimados, tuve un problema al intentar ejecutar un programa hecho en java que tiene interfaz gráfica hecho java usando con awt y swing, el sistema se encargaba de leer códigos de barra y leer y enviar pulsos de los GPIO el problema era que se ejecutaba el código java pero no se ejecutaba nada de la interfaz.

Ahora la solución fue la siguiente:
1) Cree un script que interpreta los comandos necesarios para ejecutar el programa:

nano /home/pi/miscript.sh

agregamos lo siguiente:

#!/bin/bash
echo "### INICIALIZANDO EL PROGRAMA ESPERE 30 SEGUNDOS PARA INNICIAR ###"
sleep 30
echo "EJECUTANDO EL PROGRAMA"
cd /home/pi/Documents/execJar/
sudo nohup java -jar /home/pi/Documents/execJar/miprograma.jar > /home/pi/Documents/execJar/nohub.out

2) Procedemos a agregar en el autostart debe estar en modo que ejecute el escritorio y editamos el siguiente archivo

 nano /home/pi/.config/lxsession/LXDE-pi/autostart

Agregamos la siguiente línea:

 @sudo /bin/sh  /home/pi/miscript.sh

3) Reiniciamos y te debe ejecutar el sistema
para ver que pasa debemos de verificar:

tail -f /home/pi/Documents/execJar/nohub.out

Nota:
El comando [b]nohup[/b] permite mantener la ejecución de un comando (el cual le pasamos como un argumento) pese a salir de la terminal (logout), ya que hace que se ejecute de forma independiente a la sesión.

Básicamente, lo que hace es ignorar la señal HUP (señal que se envía a un proceso cuando la terminal que lo controla se cierra), esto implica que aunque cerremos la terminal, el proceso se siga ejecutando.

El comando [b]tail[/b]. El comando tail sirve para mostrar en pantalla

Anuncios

Explicación de cómo hacer una consulta con detalles múltiple en SQLServer.

Proceso encargado de hacer una consulta que retorne una lista detalles de una consulta con detalles múltiple en Sql Server en este caso fue probado en la versión 2008, esta ejemplo es fundamental para ser usado en cualquier caso que a merite.

Vamos a proceder hacer unos

Tabla Usuarios
CREATE TABLE usuarios (
id INT IDENTITY (1, 1) NOT NULL,
apellidos VARCHAR(50) NOT NULL,
nombres VARCHAR(50) NOT NULL,
usuario VARCHAR(20) NOT NULL,
correo VARCHAR(50) NOT NULL,
clave CHAR(50) NOT NULL,
CONSTRAINT pk_usuarios PRIMARY KEY(id)
);

INSERT INTO usuarios (apellidos,nombres,usuario,correo,clave) VALUES('BLANCO','HUMBERTO','hblanco','hblanco@gmail.com','501fafd714de5faa708c35f07c291c21');

INSERT INTO usuarios (apellidos,nombres,usuario,correo,clave) VALUES('PEREZ','ROBERTO','rparez','rparez@gmail.com','a4a97ffc170ec7ab32b85b2129c69c50');

INSERT INTO usuarios (apellidos,nombres,usuario,correo,clave) VALUES('BOLIVAR','GREGORIO','gbolivar','elalconxvii@gmail.com','c707dce7b5a990e349c873268cf5a968');

Tablas Perfiles
CREATE TABLE perfil (
id BIGINT IDENTITY (1, 1) NOT NULL,
detalle VARCHAR(50) NOT NULL,
CONSTRAINT pk_perfil PRIMARY KEY(id)
);

INSERT INTO perfil (detalle) VALUES('Admin');
INSERT INTO perfil (detalle) VALUES('Operador');
INSERT INTO perfil (detalle) VALUES('Secretaria');
INSERT INTO perfil (detalle) VALUES('Supervisor');
INSERT INTO perfil (detalle) VALUES('Coordinador');

Tabla UsuariosPerfiles
CREATE TABLE usuario_perfil (
perfil_id BIGINT NOT NULL,
usuarios_id BIGINT NOT NULL
CONSTRAINT pk_usuario_perfil PRIMARY KEY(perfil_id,usuarios_id)
);

INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(2,1);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(1,1);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(2,2);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(3,2);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(1,3);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(2,3);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(3,3);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(4,3);
INSERT INTO usuario_perfil (perfil_id, usuarios_id) VALUES(5,3);

Desafío
Queremos lograr hacer una consulta donde podemos podamos extraer los usuarios asociados con sus perfiles separados por un carácter especial en este caso coma (,) con el objetivo de que se haga fácil hacer la visualización de los datos.

SELECT c.usuario, STUFF((SELECT ',' + a.detalle from perfil AS a
INNER JOIN usuario_perfil AS b ON b.perfil_id=a.id
WHERE b.usuarios_id=c.id GROUP BY a.detalle FOR XML PATH('')),1 ,1, '') AS detalle FROM usuarios AS c

resultado en hacer una consulta con detalles múltiple.

Solventar error de DataTable múltiple llamados

Buenas espero que se encuentren bien, tenia tiempo que no escribía una entrada debido a la cantidad de trabajo que he tenido, pero les traigo una entrada importante debido que cuando trabajamos con el DataTable de jQuery y deseamos hacer instancias múltiple a la librería para extraer una grilla que depende de otra nos sale un error parecido a este de Que no puede reiniciarse el DataTable

datatableError

La solución para este problema es agregar la siguiente linea "destroy": true

En mi caso me quedo de esta manera:
var onTable: $('#dataJPHRoles').DataTable({
"ajax": {
"url": '/rolesListar',
"dataSrc": ""
},
"rowId": 'id',
"iDisplayLength": 100,
"searching": true,
"paging": true,
"columns": Config.colums,
"sServerMethod": "POST",
"language": {
"url": "/admin/dist/js/Spanish.json"
},
"destroy": true
})

Espero que sea de utilidad en mi caso me soluciono la vida, hasta luego.

Hacer un query con limit en SqlServer

En Sql Server es triste que no existe el famoso limit para hacer consulta por rango estilo paginado desde hasta , para eso estuve indagando y conseguí una maravilla que me sirvió para hacer las consultas personalizadas cuando tenemos muchas registros e integrar con datatable, en este caso le traigo la consulta.

SELECT * FROM (
SELECT ROW_NUMBER() OVER( ORDER BY id ASC ) AS row, * from test_autos
) AS sub
WHERE row >= 0 AND row <= 25

Consultar Seniat nueva manera, implementando con Curl + PHP

En la mayoría de los sitios necesitamos hacer aplicaciones donde consultas el RIF de las personas jurídicas para esto hay entidades gubernamentales que se encargan de esto en Venezuela, pero para cada país debe existir un website similar, y en la mayoría de los casos siempre uno como desarrollador desea tener la capacidad de consultar estos datos, pero anteriormente había publicado algún método que dejo de funcionar ahora tuve que hacer una actualización para poder hacer la nueva forma

Puede descargar el codigo desde la siguiente ruta, es necesario tener git instalado en su maquina para descargarlo de lo contrario copia en el navegador pero sin el git clone
git clone https://github.com/CaribesTIC/searchseniat.git
git clone https://gbolivar_@bitbucket.org/gbolivar_/searchseniat.git
Nota: Para poder usar CURL debes tener ese paquete instalado en tu maquina.

Crea un blog o un sitio web gratuitos con WordPress.com.

Subir ↑