sábado, 15 de octubre de 2016

Datastore Vs SQL Embebido

Es muy común encontrar en aplicaciones PowerBuilder SQL Embebido, vemos SELECT, INSERT, UPDATE, DELETE dentro de eventos y funciones en objetos, esto no es eficiente y puede ser un dolor de cabeza al momento de dar mantenimiento. Lo mejor es usar DataStore, es mas eficiente y es mas fácil darle mantenimiento.

Ejemplo: En la vemos que un Objeto No Visual (NVO) contiene una función en la cual se esta utilizando un DataStore.




















Y tener en cuenta también, que de ser necesario es mejor crear en la Base de Datos que están trabajando Stored Procedures o Functions y utilizarlas desde PowerBuilder.

viernes, 14 de octubre de 2016

Ejecuto mi aplicación con PBUS y todo lo que veo es de color blanco

Hola a todos quiero compartir con ustedes un problema que se me presento.

Tengo un framework en el cual utilizo las librerias de PBUS y PowerFilter, cambie de laptop, instale todo el ambiente para seguir trabajando y al momento de ejecutar la aplicación, el menú Ribbon y el menu Outlook se visualizaron en blanco, cosa que nunca me había pasado antes.

Me comunique con Brad Wery el creador de las PBUS, quien me respondió rápidamente y me dijo que la solución era mover el archivo Canvas.pbx al directorio: C:\Windows\SysWOW64

Hice caso a lo que me indico y listo todo esta correcto. Ya saben como resolver si es que se le presenta este problema.

miércoles, 12 de octubre de 2016

sábado, 8 de octubre de 2016

Usando Secuencias en Oracle

Vamos a trabajar con Secuencias (Sequence) en Oracle y en los siguientes enlaces podrás obtener información al respecto, les sugiero leerlos:

https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6015.htm
https://www.techonthenet.com/oracle/sequences.php

Una secuencia (sequence) se emplea para generar valores enteros secuenciales únicos y asignárselos a campos numéricos; se utilizan generalmente para las claves primarias de las tablas garantizando que sus valores no se repitan.

Esta es la estructura, que se debe utilizar para crear una secuencia en Oracle:


INCREMENT BY = especifica el incremento, es decir, la diferencia entre los números de la secuencia; debe ser un valor numérico entero positivo o negativo diferente de 0. Si no se indica, por defecto es 1.


STAR WITH = Indica el valor desde el cual comenzará la generación de números secuenciales

MINVALUE = Establece el valor mínimo de la secuencia.

MAXVALUE define el valor máximo para la secuencia. Si se omite, por defecto es 99999999999999999999999999.

CYCLE | NOCYCLE = indica que, cuando la secuencia llegue a máximo valor (valor de "maxvalue") se reinicie, comenzando con el mínimo valor ("minvalue") nuevamente, es decir, la secuencia vuelve a utilizar los números. Si se omite, por defecto la secuencia se crea "nocycle".


En mi caso trabajo las secuencias para generar los códigos de los campos PK de mis tablas y para que las secuencias se generen automáticamente, creo un Trigger, con la siguiente estructura:












Recuerden siempre que los campos PK y FK deben ser de tipo entero, sea cual sea el tipo de motor de Base de Datos, es una buena practica.

sábado, 1 de octubre de 2016

PostgreSQL 9.6


Desde el 29 de septiembre de 2016 se encuentra disponible para ser descargada en sus versiones de 32 bits y de 64 bits, la versión PostgreSQL 9.6.

Puedes descargarla desde:

http://www.enterprisedb.com/products-services-training/pgdownload#windows