Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/10/2004, 12:17
Chen
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 0
Para conectar una aplicacion PB con una base de datos SQL debes tener instalado en la maquina, los servicion cliente del SQl (query analizer).


Para la ejecución, debes acordarte que cada usuario debe ingresar a la base de datos con su cuenta, por lo que debes hacer una conexion por via de código.

string ls_var
boolean lb_var
// Profile BVPROD01
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = ddlb_database.text
SQLCA.LogPass = sle_2.text
SQLCA.ServerName = "BVMATDB1"
//"BVMATSQL1"
SQLCA.LogId = sle_1.text
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
SQLCA.dbParm = "AppName = 'ADCON'"

gs_usuario = sle_1.text //sle_1.text es una caja de texto
gs_clave = sle_2.text //sle_2.text es otra caja de texto con proipiedad de password
//conexion con base de datos ADMINISTRACION
if sqlca.database = 'ADMON01' THEN
connect;
IF sqlca.sqlcode = 0 then
setnull(ls_var)
SELECT DISTINCT 'X' into :ls_var //este query se utiliza para verificar el rol del usuario en una tabla de la aplicación
FROM dbo.M004T_USUARIO_ROL T1, dbo.M003T_COMB_ROL_PROCESO T2,
dbo.M001T_PROCESOS T3
WHERE T1.COD_ROL = T2.COD_ROL
AND T2.COD_PROCESO = T3.COD_PROCESO
AND T1.COD_USUARIO = :gs_usuario
AND T3.COD_APLICACION = 'ADCON'
using sqlca;
lb_var = isnull(ls_var)
if not lb_var then
open(w_frame_ad) //si no es nulo, abre la ventana principal de la aplicacion
close(parent) // y cierra la ventana de conexion
else
messagebox("Aviso","No tiene privilegio para accesar a la aplicacion. Contacte al administrador de sistema", stopsign!,Ok!)
disconnect;
close(parent)
end if
else
messagebox("","No establece conexion. Contacte al Administrador del sistema.")
end if
END IF