Cómo: Referencia: |
El parámetro DBASOURCE determina los atributos de seguridad utilizados para permitir el acceso a estructuras de varios archivos. Las restricciones de acceso están basadas por defecto en el archivo host, en una estructura JOIN, o en el último archivo de una estructura COMBINE. Si establece el parámetro DBASOURCE en ALL, se mantendrán todas las restricciones de acceso de todos los archivos de una estructura JOIN o COMBINE.
Nota: También puede crear e implementar un DBAFILE para que contenga y exija las restricciones de acceso de todos los archivos de una estructura JOIN o COMBINE. Para más información sobre cómo usar un archivo máster central con restricciones de acceso, consulte Cómo colocar la información de seguridad en un archivo máster central.
El comando SET DBASOURCE sólo puede emitirse una vez por sesión o conexión. Se ignorará cualquier intento de emitir este comando en ocasiones posteriores. Si el valor se ha establecido en un perfil, ningún usuario podrá cambiarlo durante la sesión.
Cuando DBASOURCE=ALL:
Cuando DBASOURCE=HOST:
SET DBASOURCE = {HOST|ALL}
donde:
Sólo mantiene el cumplimiento de las restricciones de acceso del archivo de host en una estructura JOIN, o del último archivo de una estructura COMBINE, a menos que se utilice un DBAFILE para garantizar las restricciones de otros archivos de la estructura. HOST es el valor por defecto.
Obliga a que el usuario tenga un acceso de lectura a todos los archivos de una estructura JOIN o COMBINE. El usuario requiere un acceso de W, U o RW a un archivo de la estructura COMBINE cuando se ha emitido una solicitud de INCLUDE, DELETE o UPDATE basada en ese archivo.
(FOC32575) DBASOURCE CANNOT BE RESET VALUE WAS NOT CHANGED
La siguiente solicitud une el origen de datos TRAINING a los orígenes de datos EMPDATA y COURSE y, a continuación, emite una solicitud basada en la estructura unida:
JOIN CLEAR * JOIN COURSECODE IN TRAINING TO COURSECODE IN COURSE AS J1 JOIN PIN IN TRAINING TO PIN IN EMPDATA AS J2 TABLE FILE TRAINING PRINT COURSECODE AS 'CODE' CTITLE LOCATION AS 'LOC' BY LASTNAME WHERE COURSECODE NE ' ' WHERE LOCATION EQ 'CA' OR LOCATION LIKE 'N%' END
Cuando los archivos máster no tienen atributos de DBA la salida es:
LASTNAME CODE CTITLE LOC -------- ---- ------ --- ADAMS EDP750 STRATEGIC MARKETING PLANNING NJ CASTALANETTA EDP130 STRUCTURED SYS ANALYSIS WKSHP NY AMA130 HOW TO WRITE USERS MANUAL CA CHISOLM EDP690 APPLIED METHODS IN MKTG RESEARCH NJ FERNSTEIN MC90 MANAGING DISTRIBUTOR SALE NETWORK NY GORDON SFC280 FUND OF ACCTG FOR SECRETARIES NY LASTRA MC90 MANAGING DISTRIBUTOR SALE NETWORK NY MARTIN EDP130 STRUCTURED SYS ANALYSIS WKSHP CA MEDINA EDP690 APPLIED METHODS IN MKTG RESEARCH NJ OLSON PU168 FUNDAMNETALS OF MKTG COMMUNICATIONS NY RUSSO PU168 FUNDAMNETALS OF MKTG COMMUNICATIONS NY SO BIT420 EXECUTIVE COMMUNICATION CA WANG PU440 GAINING COMPETITIVE ADVANTAGE NY WHITE BIT420 EXECUTIVE COMMUNICATION CA
Ahora añada los siguientes atributos de DBA al final del archivo máster TRAINING:
END DBA = DBA1,$ USER = TUSER, ACCESS =R,$
Si ejecuta la misma solicitud aparece el siguiente mensaje:
(FOC047) THE USER DOES NOT HAVE SUFFICIENT ACCESS RIGHTS TO THE FILE: TRAINING BYPASSING TO END OF COMMAND
Emita el siguiente comando SET PASS:
SET PASS = TUSER
Ahora añada los siguientes atributos de DBA al final del archivo máster COURSE:
END DBA = DBA1,$ USER = CUSER, ACCESS = R,$
Ahora añada los siguientes atributos de DBA al final del archivo máster EMPDATA:
END DBA = DBA1,$ USER = EUSER, ACCESS = R,$
Observe que el atributo DBA tiene el mismo valor en todos los archivos máster.
Vuelva a ejecutar la solicitud. No se produce ninguna infracción de seguridad; se genera la salida del informe. Puesto que el parámetro DBASOURCE se ha establecido en HOST (por defecto), puede ejecutar la solicitud utilizando una contraseña que sólo funcione en el archivo de host.
Establezca el parámetro DBASOURCE en ALL:
SET DBASOURCE = ALL SET PASS = TUSER
Si ejecuta la solicitud aparece el siguiente mensaje, debido a que TUSER no es un usuario válido del origen de datos COURSE:
(FOC052) THE USER DOES NOT HAVE ACCESS TO THE FIELD: CTITLE
Emita el siguiente comando SET PASS, que establece una contraseña válida para cada archivo de la estructura:
SET PASS = TUSER IN TRAINING, CUSER IN COURSE, EUSER IN EMPDATA
Ahora puede ejecutar la solicitud y generar la salida del informe.
Una vez emitido el comando SET DBASOURCE, no se puede cambiar su valor. El siguiente comando SET intenta cambiar el valor a HOST, pero la salida del comando de consulta indica que no ha sido posible:
> > set dbasource = host (FOC32575) DBASOURCE CANNOT BE RESET VALUE WAS NOT CHANGED
WebFOCUS |