lunes, 14 de noviembre de 2016

PowerBuilder 2017 esta disponible para Pre-Orden

PowerBuilder 2017 esta disponible para Pre-Orden, los precios son los siguientes:
Edición Standard: Ideal para desarrollo de aplicaciones tradicionales cliente / servidor.
Edición Cloud: Además de generar aplicaciones tradicionales cliente/servidor, se podrán desarrollar aplicaciones Cloud donde el ejecutable reside en la PC y la base de datos en la nube, y la cual se podrá acceder a través de http/https.
Edición Universal: Incluye las funcionalidades de las ediciones Standard y Cloud, además de tener la funcionalidad para desarrollar aplicaciones móviles en dispositivos iOS y Android.

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

martes, 11 de octubre de 2016

Conexión a SQL Server 2008 R2 desde PowerBuilder Classic 12.5

Para conectarse a una Base de Datos SQL Server 2008 R2 desde PowerBuilder Classic 12.5 seguimos los siguientes pasos:

1. En PowerBuilder, clic derecho al driver SNC SQL Native Client, clic en New Profile

2. En la siguiente ventana Database Profile Setup.

Primero: En la pestaña Connection ingresamos los datos de conexión:
Segundo: En la pestaña Preview clic en botón Test Connection y listo.
3. En el evento open del objeto Application, se debe colocar la cadena de conexión:

SQLCA.DBMS = "SNC SQL Native Client(OLE DB)"
SQLCA.LogPass = "CONTRASEÑA"
SQLCA.ServerName = "NOMBRE DE SERVIDOR"
SQLCA.LogId = "USUARIO"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Database='NOMBRE DE BASE DE DATOS',Provider='SQLNCLI10'"

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.