Está en la página 1de 34

_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

INTRODUCION A LAS CONEXIONES DE LA BASE DE DATOS


Esta sección nos presnta las conexiones de datos en PowerBuilder. Da una
apreciación global de los conceptos y procedimientos para conectarse a una base de datos
en el entorno de desarrollo de PowerBuilder
PROCEDIMIENTO DE CONEXIÓN ESTÁNDAR
El siguiente punto explica el procedmiento de conexión y dice donde usted puede
encontrar la informacion detallada sobre cada paso. Los pasos básicos en este proceso son
lo mismos en todas las plataformas soportadas y para todos los productos que usted usa
con PowerBuilder. De hecho, la única diferencia que usted notara en las demás
plataformas es la lista de bases de datos que usted puede acceder.

ACCEDIENDO A DATOS EN POWERBUILDER


Hay varias maneras de acceder a los datos en el entorno de desarrollo de
PowerBuilder dependiendo de la plataforma de su sistema operativo.
 A través de una de las interfaces de la base de datos standard como ODBC,JDBC, u OLE
DB
 A través de una de las interfaces de las bases de datos nativas.
INTERFACES DE BASE DE DATOS STANDARD
Una interfaz de base de datos standard comunica con una base de datos via un
driver standard (en el caso de ODBC y JDBC) o proveedor de datos (en el caso de OLE DB).
El driver standard o el proveedor de datos traduce las llamadas de función abstractas
definidas por el API de la norma en llamadas que se entienden por una base de datos
especifica.
Para usar una interfaz, usted básicamente necesita instalar el API del standard y
driver conveniente o proveedor de datos. Luego instale la interfaz de la base de datos
standard que usted quiere usar para acceder a su DBMS seleccionando la interfaz en el
programa de instalación de PowerBuilder.
PowerBuilder soporta actualmente las siguientes interfaces
 Conectividad de base de datos abierta (ODBC)
 Conectividad a Base de datos Java (JDBC)
POWER BUILDE NIVEL II_______________________________________________________________________

 El componente de Acceso a Datos universal de Microsoft OLEDB


ODBC Y JDBC proporciona una base el acceso a las bases de datos basadas en SQL. OLE
DB proporciona el acceso a la base de datos basadas y no basadas en SQL.
ACCEDIENDO LA DEMOSTRACION DE EAS DB
Power Builder incluye una base de datos ASA llamado EAS DB. La Base de datos se
instala automáticamente, a menos que usted deshabilite esta opción en el programa de
instalación.
¿Qué ES UN PERFIL DE LA BASE DE DATOS?
Un perfil de la base de datos es un conjunto de parámetros guardado en su archivo
de inicialización de PowerBuilder que define una conexión a una base de datos particular
en el entorno de desarrollo de PowerBuilder. Usted deberá crear un perfil de la base de
datos para cada conexión de datos.
Usar los perfile de la base de datos es la manera más fácil de manejar las conexiones
a datos en PowerBuilder. Por ejemplo, usted puede.
 Seleccionar un perfil de la base de datos para conectar o cambiar entre las bases de
datos
 Editar un perfil de la base de datos para personalizar una conexión
 Anular un perfil de la base de datos si usted ya no necesita acceder a los datos
 Importar y exportar perfile de base de datos de exportación para compartir los
parámetros de conexión rápidamente.
CREAR UN PERFIL DE LA BASE DE DATOS
Para crear un nuevo perfil de la base de datos para una interfaz de base de datos,
usted debe llenar el cuadro de dialogo del perfil de base de datos para la interfaz que
usted esta usando para acceder a la base de datos.
Para crear un perfil de la base de datos para una interfaz de la base de datos:
1. Clic en el botón de perfil de Basede datos en el PowerBuilder.

Los perfiles de base de datos se despliegan en el cuadro de dialogo, listando sus


ionterfaces de base de datos instaladas.
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Para ver una lista de perfiles de base de datos definida para un interfaz en
particular. Pulse el (+) a la izquierda del nombre de la interfaz para extender la lista

2. Despliegue el menú popup para interfaz y selecione New Profile.


Para desplegar el cuadro de dialogo de Perfil de Base de datos paa su interfaz, el
software del cliente requerido y la interfaz de la base de datos nativa deben estar
propiamente instalados y configurados.
3. En la pagina de etiqueta de Conexión, digite el nombre del perfil

SOBRE EL IDENTIFICADOR DE DBMS


Usted no necesita especificar el identificador de DBMS en un perfil de la base de datos.
Cuando usted crea un nuevo perfil para cualquier interfaz instalada de la base de datos,
PowerBuilder genera la sintaxis de conexión correcta de DBMS para usted.

4. Dar un click en la Ficha Preview si usted quiere ver el código de conexión que
Powerbuilder genera para cada opción seleccionada. Usted puede copiar el código en
una aplicación Powerbuilder.
POWER BUILDE NIVEL II_______________________________________________________________________

5. Clic en Ok para guardar sus cambios y cerrar el perfil de base de datos. (Para guardar sus
cambios en una ficha en particular sin cerrar el cuadro de dialogo, haga clic en Aplicar).
El cuadro de dialogo de Perfil de Base de datos se despliega, con el nuevo nombre
del Perfil resaltado bajo la interfaz apropiada. Los valores de base de datos son guardados
en su archivo de inicialización de PowerBuilder.

USANDO LA INTERFAZ DE ODBC


En la mayoría de las plataformas puede acceder a una gran variedad de fuentes de
datos ODBC en PowerBuilder.

EL API DE ODBC
La conectividad de Base de datos abierta (ODBC) es una interfaz de programación
para aplicaciones standard (API) desarrollado por Microsoft. Permite una sola aplicación
acceder a una variedad de fuentes de datos siempre y cuando los drivers ODBS existan
ACCEDIENDO A LA FUENTE DE DATOS ODBC
Las aplicaciones que proporcionan una interfaz de ODBC, como PowerBuilder,
pueden acceder a fuentes de datos para el que un driver de ODBC existe.
COMO SE HACE UNA CONEXIÓN ODBC
Cuando accede un origen de datos ODBC en PowerBuilder, su conexión pasa por
varias capas antes de alcanzar la fuente de datos. Es importante entender que cada capa
representa un componente separado de la conexión, y que cada componente puede
pertenecer a un fabricante diferente.
Como ODBC es un API standard, PowerBuilder usa la misma interfaz para acceder a
cada fuente de datos ODBC,, siempre que un driver se ODBC manejable, PowerBuilder
puede accederlo a través de la interfaz ODBC al ODBC DRIVER MANAGER. El entorno de
desarrollo y los ODBC unen el trabajo juntos como el componente de la ampliación.
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

El siguiente diagrama muestra los componentes generales una conexión de ODBC.

COMO PREPARA LAS FUENTES DE DATOS ODBC


El primer paso en una conexión a un origen de datos ODBC es prepara la fuente de
datos. Prepara la fuente de datos asegura que usted podrá conectar a el y usar sus datos
en PowerBuilder.
Usted prepara una fuente de datos fuera de PowerBuilder antes de que usted
empiece la ampliación, define la fuente de datos, y conéctese a él.
Los requisitos difieren en general para cada origen de datos, mientras que prepara
una fuente de datos involucra los pasos siguientes
PREPARAR EL USO DE UNA FUENTE DE DATOS ODBC CON POWERBUILDER:
1. Si el software de la red exige acceder la fuente de datos, asegúrese de que se instala
propiamente y configuro a su sitio y en el puesto de trabajo.
2. Asegúrese que el software de la base de datos se instalo apropiadamente y se
configuro en su computado o servicio de red.
3. Asegúrese que los ficheros de datos requeridos estén presentes en su computadora
o servidor de red.
4. Asegúrese que los nombres de tablas y columnas que usted quiere acceder siguen
las convenciones del SQL standard.
En general, evite usar letras minúsculas, espacios en blanco o las palabras reservadas
de base de datos-especificas en la tabla y nombres de la columna. Es mas seguro usar
todos los caracteres en mayúscula al nombrar las tablas y columnas a las que usted
quiere acceder en PowerBuilder.
POWER BUILDE NIVEL II_______________________________________________________________________

DEFINIR LOS ORIGENES DE DATOS ODBC


Cada fuente de datos de ODBC exige un driver de ODBC correspondiente que la
acceda. Cuando usted defina una fuente de datos ODBC, usted proporciona la información
sobre la fuente de datos que el driver necesita para conectarse a él.

Después de que usted prepara la fuente de datos, usted debe definir la fuente de
datos. Para definir una fuente de datos, use la utilidad ODBC DATA SOURCE DE
MICROSOFT. Esta utilidad puede acceder vía el panel de control en Window o por el pintor
de base de datos de PowerBuilder.
COMO POWERBUILDER ACCEDE A LA FUENTE DE DATOS
CUATRO ARCHIVOS DE INICIALIZACION
Cuando usted accede una fuente de datos ODBC en PowerBuilder, hay cuatro
archivos de inicialización en su computadora que trabajan con la interfaz de ODBC y driver
para realizar la conexión.

EL ARCHIVO DE INICIALIZACION DE ODBC


La sección del archivo de inicialización de ODBC muestra el nombre de cada fuente
de datos definida y su DBMS asociado. El archivo de inicialización de ODBC también
incluye una sección separada para cada fuente de datos. Esta sección contiene los valores
específicos para esa fuente de datos en el cuadro de dialogo ODBC. Los valores pueden
variar para cada fuente de datos, pero generalmente pueden incluir lo siguiente:
 Nombre
 Descripcion(Opcional)
 Los parámetros de conexión específicos DBMS
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Ejemplo
La siguiente parte del archivo de PB.INI en Windows muestra el perfil de base de
datos para la demostración del origen de datos EAS DB V3:

[Profile EAS Demo DB V3]

DBMS =ODBS

Database = EAS Demo DB V3

UserId =dba

DatabasePasword=

LogPaswiord=

Servername=

LogId=

Lock=

DbParm = ConecctString =´DSN=EAS Demo V3 ; UID=dba; PWD=sql´

Prompt=0
 DBMS DBMS indica que usted esta usando la interfaz ODBC para conectarse a la
origen de datos.
 DBParm El parámetro ConeectString de DBParm controla su conexión al origen de
datos ODBC. La cadena de conexión debe especificar el valor del DSN(Data Source
Name)que le dice a ODBC que fuente de datos es la que usted quiere acceder.
Cuando usted selecciona un perfil de base de datos para conectar a una fuente de
datos ODBC, aparece en el archivo que inicialización de ODBC (o subclave del registro)
para una sección que corresponde al nombre de origen de datos en su perfil. Entonces
ODBC usa la información en la sección específica del archivo de inicialización de ODBC
para cargar los programas necesarios para conectar con la fuente de datos. La cadena
de conexión también puede contener los valores del UID (la identificación del usuario)
y PWD (la contraseña) necesario para acceder al origen de datos.
POWER BUILDE NIVEL II_______________________________________________________________________

DEFINIR MULTIPLES FUENTE DE DATOS PARA LOS MISMO DATOS


Al definir un origen de datos ODBC en PowerBuilder, cada nombre de origen de
datos debe ser único. Usted puede, sin embargo, definir orígenes de datos múltiples que
acceden los mismos datos, con tal de que las fuentes de datos tengan nombres únicos.
Por ejemplo, asuma que su fuente de datos es una base de datos ASA localizada en
c:\Adaptative Server Anywhere6.0 \sales.db. Dependiendo de su ampliación, usted puede
quiere especificar conjuros diferentes de parámetros de conexión para acceder a las base
de datos. Por ejemplo, usar contraseñas diferentes e identificaciones del usuario distintas.
Para hacer eso, usted puede definir dos orignes de datos ODBC llamados Sales1 y
Sales 2 que especifican la misma base de datos (c:\Adaptative Server Anywhere6.0 \
SALES.DB) pero usuario y contraseñas diferentes.
Definir los orígenes de datos crea automáticamente los perfiles de la base de datos
correspondiente llamados Sales1 y Sales2. Cuando usted se conecta al origen de datos
usando cualquiera de estos perfiles, usted está usando parámetros de conexión diferentes
para acceder a los mismos datos.

Origen de Datos: Sales1


UseID: Smith
Password:xxx
DataBase: C\ASA60\SALES.BD

SALES.DB

Origen de Datos: Sales2


UseID: jones
Password:yyy
DataBase: C\ASA60\SALES.BD
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

¿QUE ES OLE DB?

EL OLE DB API
OLE DB es una interfaz de programación de aplicación estándar (API) desarrollado
por Microsoft. Es un software de conexión a Datos de Microsoft. OLE DB le permite a una
aplicación acceder a una variedad de datos. Proporciona el acceso uniforme a una
aplicación a datos guardados en diversos formatos, como los archivos índice-secuenciales
como Btrieve, bases de datos personales como Paradox, herramientas de productividad
como las hojas de cálculo y correo electrónico, así como Base de datos relacionales.
Usted puede acceder a una gran variedad de datos vía OLE DB de PowerBuilder.

ACCEDIENDO A LOS DATOS VIA OLE DB


Las aplicaciones que proporcionan una interfaz OLE DB(como PowerBuilder) pueden
acceder a los datos para los que un proveedor OLE DB exista. Un proveedor de datos
OLEDB es una librería de enlace dinámico (el DLL) eso lleva a cabo las llamadas de función
de OLE DB. La aplicación invoca el proveedor de datos OLE DB para acceder a una fuente
de datos particular.
LOS COMPONENTES OLE DB
Cuando usted accede a un proveedor de datos OLE DB en PowerBuilder, su conexión
pasa por varias capas antes de alcanzar el proveedor de datos. Es importante entender
que cada capa representa un componente separado de la conexión y que cada
componente pueda venir de un proveedor diferente.
Ya que OLE DB es un API standard, PowerBUilder usa la misma interfaz para acceder
a cada proveedor de datos OLE DB. Siempre que un proveedor de datos OLE DB soporte
las interfaces del objeto requeridas por PowerBuilder, este puede accederlo a través de la
interfaz de OLE DB.
El siguiente el diagrama muestra los componentes generales de una conexión OLE
DB.
POWER BUILDE NIVEL II_______________________________________________________________________

Entorno de desarrollo

DLL de interfaz Proporcionado


de Base de por Sybase
PBOLE70.DLL
Datos

Proveedor de Proporcionado por


Datos Proveedor de Datos OLE DB proveedor de Base
de Datos

Base de Datos

VERSIONES Y PLATAFORMAS SOPORTADAS PARA OLE DB


Versiones:
La interfaz OLE DB utiliza una DLL llamada PBOLE70.DLL para acceder a una base de
datos vía un proveedor de datos OLE DB.
Versión de OLE requerido
Para usar interfaz OLE DB para acceder a una base de datos OLE DB, usted debe
conectar via un proveedor de datos OLE DB que soporte OLE DB Version 2.0 o posterior.
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Preparándose para usar la interfaz OLE DB


Antes de que usted defina la interfaz y se conecte a un proveedor de datos vía OLE
DB:
1. Instale y configure el servidor de la base de datos, red, y software del cliente.
2. Instale el software de componentes de acceso a Datos de Microsoft en su máquina.
3. Instale la interfaz OLE DB.
4. Instale el proveedor de datos OLE DB que accede su origen de datos.
Paso 1: Instale y configure el servidor de datos
Usted debe instalar y debe configurar el servidos de la base de datos así como
instalar el software de red y software del cliente.
Paso 2: Instale el software de componentes de Acceso de Datos de Microsoft
La instalación de los componentes de Acceso a Datos de Microsoft no es parte de la
instalación de PowerBuilder
Pase 3: Instalar la interfaz OLE DB
Cuando este en el programa de instalación de PowerBuilder, Seleccione la interfaz
OLE DB.
Pase 4: Instale el proveedor de datos OLE DB
Usted necesita instalar el proveedor OLE DB para acceder a su base de datos. Usted
puede instalar uno o mas proveedores OLE DB con PowerBuilder o usted puede instalar los
proveedores de datos de otro vendedor.
Si usted esta conectado a un ODBC datos proveedor (como el OLE DB proveedor de
Microsoft para ODBC), usted debe definir la fuente datos ODBC como si estuviera usando
una conexión de ODBC directa. Para definir una fuente de datos ODBC, use la utilidad
ODBC Data Source de Microsoft. Esta utilidad puede accederse vía el panel de control en
Windows o vía el pintor de la Base de datos.
DEFINIENDO LA INTERFAZ DE OLE DB
Usando el profile de OLE DB
POWER BUILDE NIVEL II_______________________________________________________________________

Para definir una conexión a través de la interfaz OLE DB, ustde debe crear un perfil
de la base de datos proporcionando sus valores por lo menos los parámetros de conexión
básicos en el cuadro de dialogo de Perfil de base de datos- OLE DB. Usted puede
seleccionar entonces cuando quiera este perfil para conectar a sus datos en el ambiente
de desarrollo.
LOS PARAMETROS DE CONEXIÓN
Usted debe proporcionar los valores para el Proveedor y parámetros de conexión
del Origen de Datos. Seleccione un proveedor de datos de la lista de proveedores de datos
instalados. El valor de Origen de datos varia dependiendo del tipo de conexión que usted
esta haciendo. Por ejemplo:
 Si usted esta usando el Proveedor de OLE DB de Microsoft para ODBC para conectar
a EAS Demo DB, seleccione MSDASQL como el valor de Proveedor e ingrese el
nombre de Origen de Datos actual ODBC(en este caso EAS Demo DB) como el valor
de Origen de Datos.
 Si usted esta usando el Proveedor OLE DB de Microsoft para el Servidor del SQL,
seleccione SQLOLEDB como el valor de Proveedor e ingrese el nombre del servidor
como el valor de Origen de Datos. En el caso del servidor de Microsoft SQL, usted
debe usar también el campo de las Propiedades Extendidas para proporcionar el
nombre de la base de datos(por ejemplo, Database = Pubs) ya entonces, usted
puede tener múltiples instancias de una base de datos.
Aplica 15
Desarrollar una aplicación que permita que permita conectarse a la tabla customer
de la base de datos NorthWind, utilizando 3 distintas interfaces: ODBC, Ole DB y SQL.
Solución:
1. Iniciar una nueva Aplicación File New en la siguiente ventana elegir el objetó
aplicación.
2. Asignarle el nombre de aplica_15, guardar en la siguiente ruta c:\Power_Builder\
practicas\Cap04\Aplica_15\aplica_15.pbl, luego dar un clic en el botón Finish para
completar la Aplicación.
3. Una vez creada la aplicación se procederá a crear el objeto window (ventana), para
esto dar un clic en el menú File New en caso contrario clic en el botón.
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Nota: Para el siguiente ejemplo, se procederá a crear un DNS (Data Source


Name) , un Data Link, la constitución de estos nos permitirá la conexión con una
determinada base de datos utilizando las distintas INTERFACES.

CREACION DE UN DSN (DATA SOURSE NAME)


La creación de un nombre de origen de datos (DSN), permitirá la conexión con una
base de datos, para esto seguir al detalle los puntos que se muestran a continuación:

1. Hacer clic en el botón Database a continuación se presenta la pantalla de conxion de


base de datos, ubicar la interfaz ODBC, expandir el nodo, a continuación, expandir la
carpeta Utilies, hacer doble clic en la opción ODBC Administrador, para llamar al
Administrador de Origen de Datos ODBC, dar un clic en el botón Agregar…

2. En la siguiente pantalla ubicar y elegir el controlador SQL Server, como se muestra a


continuación, dar un clic en el botón Finalizar:

3. En la siguiente pantalla es necesario ingresar el nombre del DSN (con ODBC) una
descripción y especificar el nombre del servidor (Local), como se muestra a
continuación:
POWER BUILDE NIVEL II_______________________________________________________________________

4. Para la siguiente pantalla será necesario ingresar el Id.Inicio de sesión sa, tal como se
muestra a continuación, clic en el botón Siguiente >.

5. En la siguiente pantalla marcar la casilla de verificación establecer la siguiente base de


datos como predeterminada, del como elegir la base de datos Northwind, clic en el
botón siguiente.

6. En la siguiente pantalla hacer clic en el botón Finalizar, a continuación, dar un clic en el


botón probar Origen de datos, finalmente clic en el botón Aceptar.

7. El siguiente paso consiste en crear un New profile, para esto clic derecho en la interfaz
ODBC, del menú contextual elegir la opción New profile..

8. A continuacion se mostrar la ventana Database profile Setup ODBC , ingresar el profile


Name, elegir el origen de datos, ingresar el UserID, tal como se muestra a continuación:
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

No olvide elegir la opción SQL_DRIVER_NOPROMPT, DE LA OPCION TIPO DE CONEXIÓN DE


LA Ficha opciones de la ventana actual, finalmente clic en el botón OK.
9. A continuación observara que se añadió un nuevo profile con el nombre “conODBC”,
clic derecho sobre este, del menú contextual elegir la opción Connect.

CREACION DE UN MICROSOFT DATA LINK


La creación de un Microsoft Data Link, permitirá la conexión con una base de datos,
para esto seguir al detalle los pasos que se muestran a continuación:
1. Hacer clic en el botón Database a continuación se presentara la pantalla de conexión
de base de datos, ubicar la interfaz OLEDB, expandir el nodo, a continuación expandir la
carpeta Utilities, hacer doble clic en la opción Manager Data Link.

2. Luego se mostrara la ventana de selección de archivo de vinculo de datos, clic derecho


en el área blanca, del menú contextual elegir la opción Nuevo, Microsoft Data Link, al
aparecer el nuevo archivo ponerle el nombre de conOLEDB.
POWER BUILDE NIVEL II_______________________________________________________________________

3. Una vez ingresado el nombre del archivo, hacerle clic derecho, y del menú contextual
elegir la opción Abrir, para tener acceso a sus propiedades.

4. Una vez mostrada la ventana de propiedades del archivo, clic derecho en la ficha
Proveedor, elegir el proveedor Microsoft OLE DB Provider for SQL Server , de la ficha
conexión especificar el nombre del servidor ingresar el nombre de(Local) , el nombre de
usuario sa , a continuación proceda a seleccionar la base de datos, para este ejemplo
practico utilizaremos la base de datos Northwind
Para verificar el éxito de la conexión dar un clic en el botón probar conexión, si esta
es correcta felicitaciones, de no serlo volver a repetir el ejercicio, Finalmente clic en el
botón Aceptar, para finalizar la creación del Microsoft data Link.

5. El siguiente paso consiste en crear New Profile, para esto clic derecho en la interfaz
OLEDB, del menú contextual elegir la opción New profile.

6. EN la ventana del Database profile Setup – OLE DB, ingresar nombre de conOLEDB,
ingresar el user id sa, marcar la casilla de verificación nombre de archivo de Data
Link,clic en el botón para ubicar el archivo Data Link creado anteriormente.

Una vez realizado los cambios respectivos clic en el botón OK

7. Creación de un objeto Datawindow, para esto dar un clic en el menú File New , para
esto dar un clic en el menú file new.. en caso contrario clic en el botón.
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Posteriormente en la siguiente ventana. Deberá elegir el icono de SQL Select y dar un clic
en el botón Next:

Luego deberá seleccionar las tablas customers y clic en Open:

Luego debería seleccionar los 3 primeros campos customerid. Companyname y


contacname.

Luego, para regresa al editor de DataWindow, puede ir al menú File y elegir la opción
Return to DataWindow Painter o puede cerrar la ventana del editor.
POWER BUILDE NIVEL II_______________________________________________________________________

Después aparecerá la siguiente la siguiente ventana para seleccionar los colores del
DataWindow y marcar la casilla de Save as Default , para que los colores elegidos sean lso
predeterminados. Luego hacer clic en el botón Next>.

Por último vera la ventana que le mostrar un resumen de los pasos anteriores en la
creación del DataWindow. Para finalizar, hacer clic en el botón Finish.

Luego deberá guardar el objeto creado con el nombre d_clientes

Ubicar los controles indicados:


 5 control commandbutton
 1 control Datawindow
Para crear los objetos dar un clic en el botón ubicar los controles y modificar sus
propiedades de la siguiente manera

CONTROL PROPIEDAD VALOR


cb_1 Name cd_odbc
Text ODBC
cb_2 Name cd_oldb
Text OLDB
cb_3 Name cb_ini
Text Archibo Ini
cb_4 Name cb_cerrar
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Text &Cerrar
cb_5 Name cb_recuperar
Text &Recuperar
dw_1 Name Dw_clientes
DataObject d_clientes

Luego dar un clic en guardar asignarle el nombre de w_clientes y clic en OK, asignarle el
título de “conexión a base de datos” a la ventana correspondiente.
Despues deberá escribir el código en los objetos de datos para ejecutarlos:

Objecto : aplica_15 evento : Open

OPEN(w_clientes)

Objeto : cb_odbc evento : Clic

//Profile conODBC

SQLA.DBMS = “ODBC”

SQL:AutoCommit = False

SQL.DB Parm

“connectSrting=’DSN=conODBC;UID=sa’,ConnectOption=’SQL_DRIVER_CONN
ECT,SQL_DRIVER_NOPROMPT’”

Connect:

IF SQL.SQLCODE <> 0 THEN

MessageBox(‘Error’,’Error de conexion’+&String(SQLca.SQLCode)
+SQLca.SQLErrText)

Return

Else

MessageBox(‘Clientes’,’Conexión Conforme’)
POWER BUILDE NIVEL II_______________________________________________________________________

dw_clientes.reset()

cb_recuperar.enable =true

END IF

cb_odbc.enable = False

cb_oledb.enable = False

cb_ini.enabled = False

Objeto : cb_oledb Evento : Clicked

//Profile ConOLEDB

SQLCA.DBMS = “OLE DB”

SQLA.LogID=”sa”

SQLCA.AutoCommit = False

SQLCA.DB Parm = “PROVIDER=’SQLOLEDB’,DATALINK=’C:\Archivos de


programa\Archivso comunes\SYSTEM\ole db\Data Links\ConOLEDB.UDL’”

Connect;

IF SQLCA.SQLCODE <> 0 THEN

MessageBox(‘Error’,’Error de Conexion’+& String(SQLca.SQLCode)+


SQLca.SQLErrText)

Return

Else

MessageBox(‘Clientes’,’Conexion Conforme’)

dw_clientes.reset()

cb_recuperar.enabled = true

END IF
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

cb_odbc.enable = False

cb_oledb.enable = False

cb_ini.enabled = False

Objeto : cb_oledb Evento : Clicked

String Is_archivo, Is_seccion,Is_dbms

ls_archivo = “C:\Power_Builder\Aplicas_libro\cap04\aplica_15\
Clientes_00.INI”

ls_seccion = “SQL server”

ls_dbms = ProfileString(ls_archivo,ls_seccion, “DBMS”)

SQLca.Database = & ProfileString(ls_archivo,ls_seccion, “Database”,””)

SQLca.Database = & ProfileString(ls_archivo,ls_seccion, “ServerName”,””)

SQLca.Database = & ProfileString(ls_archivo,ls_seccion, “LogID”,””)

SQLca.Database = & ProfileString(ls_archivo,ls_seccion, “BB Parm”,””)

SQLca.DBMS = ls_dbms

Connect;

IF SQLCA.SQLCODE <> 0 THEN

MessageBox(‘Error’,’Error de Conexion’+& String(SQLca.SQLCode)+


SQLca.SQLErrText)
POWER BUILDE NIVEL II_______________________________________________________________________

Return

Else

MessageBox(‘Clientes’,’Conexion Conforme’)

dw_clientes.reset()

cb_recuperar.enabled = true

END IF

cb_odbc.enable = False

cb_oledb.enable = False

cb_ini.enabled = False

objeto :cb_recuperar Evento : Clicked

CLOSE(PARENT)

Objecto : cb_recuperar Evento : Clicked

dw_clientes.SetTransObject(SQLca)

dw_clientes.Retrieve()

cb_recuperar.enable = false

cb_odbc.enabled = True

cb_oledb.enabled = True

cb_ini.enabled= True

Disconnect:
Al correr la pliacion,deberá ibetener una pantalla como esta:
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

CONEXIÓN CON SQL SERVER


SQL server es un sistema administrador para Base de Datos relacionales (RDBMS)
basadas en la arquitectura Cliente/ Servidor que usa Transact-SQL para enviar peticiones
entre una apliacion cliente y el SQL Server. Las peticiones enviadas reciben el nombre de
consultas (Query).
La interfaz del servidor de Base de datos de SQL Server soporta las siguientes
características de DBMS:
 Integridad referencial declarativa
 Cursores server
 Tipos de datos decimales y numéricos
 Las columnas de identidad para los objetos DataWindow.
Lo siguiente las secciones describen brevemente como PowerBuilder aprovecha estas
características.

LA INTEGRIDAD REFERENCIAL DECLARATIVA


La integridad Referencial conserva las relaciones definidas entre tablas relacionadas
en su base de datos.
SQL Server soporta la integridad del referencial declarativa en sentencias de
Transact-SQL (como CREATE TABLE y ALTER TABLE) permitiéndole poner los constraints en
POWER BUILDE NIVEL II_______________________________________________________________________

una columna individual (columna-level constrains) o en una combinación de columnas


(table-level constraints).
LOSCURSOS DE SERVIDOR
Los sistemas de administración de base de datos relacionales como SQL server esta
orientado a conjuntos de resultados, no orientado a filas. A veces, sin embargo, usted
necesita actualizar o borrar filas individuales dentro de un conjunto de resultados. Un
cursor le permite hacer esto proporcionando una manera de ir a través de un conjunto de
resultados una fila a la vez.
En PowerBuilder, la interfaz de SQL Server soporta los siguientes tipos de sentencias
SQL cuando recupera una fila especifica de un cursor en una base de datos SQL.
Sentencia FETCH Lo que hace
FECTH NEXT (Default) Retorna la siguiente fila de un conjunto de resultados
FETCH FIRST Mueve el cursor a la primera fila dentro de un conjunto de
resultados.
FETCH PRIOR Retorna la fila anterior a la última fila de un conjunto de resultados.
FETCH LAST Mueve el cursor a la última fila dentro de un conjunto de
resultados y retorna la última fila.

TIPOS DE DATOS DECIMALES Y NUMERICOS


SQL server soporta los siguientes tipos de datos numéricos exactos (los datos
numéricos exactos son dato numérico con exactitud conserva al digito menor):
 Decimal
 Numeric
La interfaz de Microsoft SQL Server soporta estos tipos de datos:
Binary Numeric
Bit Real
Character(menos de 255 SmallDateTime
caracteres)
Date Timee SmallInt
Decimal SmallMoney
Float Text
Identity TimeStamp
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

Image TinyInt
Int VarBinary
Money VarChar

La conversión del tipo de datos


Cuando usted recupera o actualiza las columnas, PowerBuilder convierte los datos
apropiadamente entre los dastos de SQL y el tipo de datos de PowerSript. Tenga presente
que semejantemente o idénticamente los tipos de datos nombrados en SQL Server y
PowerScript necesariamente no tienen las mismas definiciones.

Los componentes del software básicos para el servidor del SQL


Usted debe instalar los siguientes componentes de software para acceder a una
base de datos con la interfaz de Microsoft SQL Server

Entorno de desarrollo

DLL de la Proporcionado
interfaz de la por Sybase
PBOLE70.DLL
base de datos

Software del Proporcionado por


cliente de la Sotware cliente de Microsoft Microsoft
Base de Datos SQL Server para su Plataforma
POWER BUILDE NIVEL II_______________________________________________________________________

Capa de red Proporcionado por el


Cualquier protocolo de red proveedor de la red o
frabicante de la Base
de Datos

Base de Datos

Microsoft SQL Server

Procedimientos Almacenado
Un procedimiento almacenando es una colección de sentencias SQL, que esta
guardadas en el servidor. Estas son un método de encapsular tareas repetitivas que se
ejecutan eficazmente. Los procedimientos almacenados pueden:
1. Aceptar parámetros de entrada y devolver varios valores en forma de parámetros
de salida al lote o al procedimiento que realiza llamada
2. Contener instrucciones de programación que realicen operaciones en la base de
datos, incluidas las llamadas a otros procedimientos
3. Devolver un valor de estado a un lote o un procedimiento que realiza una llamada
para indicar si la operación se ha realizado correctamente o hubo un error (y el
motivo del mismo).
CREACION DE PROCEDIMENTOS ALMACENADOS
Para crear un procedimiento almacenado de SQL Server se utiliza la instrucción
CREATE PROCEDURE de Transact-SQL; asimismo, puede utilizarse la instrucción ALTER
PROCEDURE para modificar la instrucción.
_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

La definición del procedimiento almacenado contiene dos componentes principales:


la especificación el nombre del procedimiento y sus parámetros, y el cuerpo del
procedimiento que contiene las instrucciones de Transac-SQL que pueden realizar las
operaciones del procedimiento.
El comando Create Produre crea un procedimiento almacenado (una colección
guardada de instrucciones Transact-SQL) que puede tomar y devolver parámetros
proporcionados por el usuario.
Ejemplo 01 Utilizar un procedimiento sencillo con una instrucción SELECT. Este
procedimiento almacenado devuelve datos esenciales de la tabla Clientes en la base de
datos nWind. Este procedimiento almacenado no utiliza ningún parámetro.
NOTA: Para realizar los ejemplos primero debe ejecutar al archivo C:\Power_Builder\
Utilitarios\Exe(nWind)\BdDatos.exe

USE nWind
GO
CREATE PROCEDURE spejemplo_01
AS
SELECT NombreCompañia, Ciudad, Teléfono
FROM Clientes
Para usar este procedimiento, puede ejecutarlo desde la ventana del Analizador de
Consultas de la siguiente manera:
EXEC spejemplo_01
NombreCompañia Ciudad Telefono
Alfreds Futterkiste Berlin 030-0074321
Ana Trujillo Emparedados y Hoteles Mexico D.F (5)555-4729
Antonio Moreno Taqueria Mexico D.F (5) 555-3932
Around The Horn Londres (71) 555-7788
POWER BUILDE NIVEL II_______________________________________________________________________

Berglunds snabbkop Lulea 0921-12-34656


5(filas afectadas)

EJEMPLO 02 Para el siguiente ejemplo, crearemos un procedimiento almacenado de


usuario spejemplo_02 utilizando un parámetro que devuelve solo los Clientes de un país
especificado.

USE nWind

GO

CREATE PROCEDURE spejemplo_02

@paris varchar(15)

As

SELECT DISTINCT*

FROM Clientes WHERE País = @Pais

GO
Finalmente ejecutar el procedimiento almacenado, desde el Analizador de
Consultas, pasando como parámetro el país de Brasil.

EXEC spejemplo_02 ‘Brasil’

EJEMPLO 03: El siguiente ejemplo crea el procidmiento spejemplo_03, que contiene tres
parámetros N1, N2 de entrada y N3 de salida (OUTPUT).

USE nWindo

GO

IF EXISTS (SELECT name FROM sysobjects


_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

WHERE name =’spejemplo_03’ AND Type = ’P’)

DROP PROCEDURE spejemplo_03

GO

Create Procedure spejemplo_03

@N1 int,

@N2 int,

@n3 int Output

AS

Set @N3 = @N1+@N2

Exec (@N3)

Go

/*EJECUTAR EL PROCEDIMIENTO*/

Declare @a Int, @b Int, @c Int

Set @a = 5

Set @b = 3

Exec spejemplo_03 @a, @b, @c output

Select @c

EJEMPLO 04: El siguiente ejemplo crea un procedimiento, que genera un


código Para este ejemplo primero procederemos a crear una tabla con el
nombre de Parámetro en la base de datos. BdEjemplo_02
NOTA: Ejecute el Sript BDEjemplo_02.sql que se encuentra en c:\Power_BUilder\
POWER BUILDE NIVEL II_______________________________________________________________________

Aplicas_libro\Script_datos[prueba].

USE BdEjemplo_02

GO

--crear la tabla PARAMETRO

--almcaena un registro para el campo IDCliente y guardar un numero

--correlativo correspondiente al último código generado.

CREATE TABLE Parametro(0

Campo Varchar(15) NOT NULL,

Contador Integer NOT NULL

INSERT Parametro VALUES (‘IdCLiente’, 0)

GO

USE BdEjemplo_02

Go

IF EXISTS (SELECT name FROM sysobjects

WHERE name = ‘spejemplo_09’ AND Type = ‘P’)

DROP PROCEDURE spejemplo_03

GO

CREATE PROCEDURE spejemplo_09

@Nombre varchar(50), @Apellido varchar(50),


_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

@Dirección varchar(100) , @Telefono varchar(8),

@Ruc varchar(11),@DNI varchar(3),

@Email varchar(50), @IdDistrito varchar(3),

@Cod_General Char(15) OUTPUT

AS

DECLARE @Contador Int,

@Error_Var Int,

@RowCount_Var Int,

--se obtiene el numero almacenado enla tabla parámetro

SELECT @contador = Contador FROM Parametro

WHERE campo = ’IdCLiente’

--@cod_General guarda el código generado

SET @cod_general = RIGHT (‘CLI000’+CONVERT(Varchar(8),@contador


+1),8)

--insertamos un registro en la tabla cliente

INSERT INTEO Cliente(IdCliente,nom_cli,ape_cli,dir_cli,tel_cli,ruc_cli,

dni_cli,email_cli,IdDitrito)

VALUES(@Cod_General,@Nombre, @Apellido,@Direccion,

@Telefono,@Ruc,@DNI,@Email,@IdDistrito)

SELECT @Error_var =᥀@@ERROR,@RowCoun_var =@@ROWCOUNT

IF (@Error_var <> 0) OR (@RowCount_var =0)

BEGIN
POWER BUILDE NIVEL II_______________________________________________________________________

RETURN-1

END

ELSE

UDPADTE Parametro SET contador = contador +1

WHERE Campo =’IdCliente’

RETURN 0

GO

/*EJECUTAR EL PROCEDIMIENTO*/

DECLARE @codigo Char (15),@Retorno Int

EXE @retorno = spejemplo_03’CAMILA’,’PANTOJA JURADO’, ‘LOS CEDROS


311’,’130-3884’,’’,’40234457’,’’,’L28’,@Codigo OUTPUT

SELECT @Retorno,@Codigo

DECLARACION DE PROCEDIMIENTOS ALMACENADOS EN POWERBUIL


PowerBuilder necesita una sentencia declarativa para identificar el procedimiento
almacenado que se esta usando y un nombre lógico que puede ser referenciado en
sentencias SQL subsecuentes.
LA SINTAXIS GENERAL PARA DECLARA UN PROCEDIMIENTO ES:

DECLARE nombre_procedimeinto_logico PROCEDURE FOR

nombre_procedimeinto_SQL

@Param1 = Value,@Param2 =Value2,

@Param3 = value3 OUTPUT,


_____________________________________________________CAPITULO 4-ACCESO A BASE DE DATOS

(USING transaction_object);
Donde nombre_procedimiento_logico puede ser cualquier identificador valido y
nombre_procedimeinto_SQL es el nombre de el procedimiento almacenado en la Base de
Datos.
Ejemplo 1 Asuma que un procedimiento almacenadoProc1 se define:

CREATE PROCEDURE proc1 AS

SELECT emp_name FROM employee


Para declara ese procedimiento y procesarlo dentro de PowerBuilder:

DECLARE emp_proc PROCEDURE FOR proc1;


Cuando una sentencia EXECUTE se ejecuta, el procedimeinto es invocado. EXECUTE hace
referencia al nombre de procedimiento lógico:

EXECUTE emp_proc:

Ejemplo 2 Para declara un procedimiento con parámetros input y output:

DECLARE sp_duration PROCEDURE FOR pr_date_diff_prd_ken

@var_date_1 = :ad_start,

@var_date_2 =:ad_end,

@rtn_diff_prd =:ls_duration OUTPUT;

Aplica 16
Desarrollar una aplicación que permita el mantenimiento de la tabla
usuarios de la base de datos BDUsarios, De la misma maner, deberá utilizar un
procedimiento almacenado que auto genere el código del nuevo usuario.
CREACION DE LA BASE DE DATOS BdUsuarios.
Un paso previo a la construcción de la ampliación consistirá en ejecutar una serie
de Scipts SQL los cuales permitirán la creación la creación de una Base de datos
con sus respectivas Tablas y algunos datos de prueba. Iniciar el servidor SQL
server, a continuación abrir una sesión del Analizador de consultas SQL y ubicar
POWER BUILDE NIVEL II_______________________________________________________________________

los Scripts en el siguiente directorio: c:\power_builder\aplicas_libro\


Script_datos[prueba]\Aplica_16
 Ahora ejecute los Scripts en el siguiente orden:
 BdUsuario
 Tablas_BdUsuario
 Carga_datos
 Genera_Codigo
 Insrtar_datos
 Actualizar_datos
 Eliminar_datos
CREACION DE UN NEW PROFILE (INTERFAZ MSS MS SQL)

También podría gustarte