Cómo configurar Jet 4.0 para evitar la ejecución de funciones inseguras en Access 2000 y Access 2002

Seleccione idioma Seleccione idioma
Id. de artículo: 239482 - Ver los productos a los que se aplica este artículo
Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.
Para obtener una versión de Microsoft Office Access 2003 de este artículo, consulte 294698.

importante este artículo contiene información acerca de cómo modificar el Registro. Antes de modificar el Registro, asegúrese de hacer una copia de seguridad del mismo y de que sabe cómo restaurarlo si ocurre algún problema. Para obtener información sobre cómo realizar una copia de seguridad, restaurar y modificar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
256986Definición del Registro de Microsoft Windows
Expandir todo | Contraer todo

En esta página

Resumen

El motor de base de datos Microsoft Jet 4.0 permite llamar a unsafe Microsoft Visual Basic para funciones de aplicaciones mediante el servicio de expresión Microsoft Jet. El servicio de expresión Jet se utiliza para evaluar expresiones en formularios, en los informes y en las consultas.

Por ejemplo, la siguiente instrucción puede hacer que todos los archivos que se va eliminar desde la carpeta actual en el equipo: comando de shell de la Nota de
SELECT Shell("Cmd /c del *.*") As c1 From Customers
en este ejemplo funciona en Windows NT. Debe modificar el comando siguiente para el comando trabajar en un equipo que ejecuta Microsoft Windows 95 o Microsoft Windows 98:
SELECT Shell("Command.com /c del *.*") As c1 From Customers
, el riesgo de seguridad se produce cuando las expresiones contienen Visual Basic para comandos de aplicaciones que pueden dañar al equipo que está ejecutando la consulta, como comandos de shell para eliminar archivos o dar formato el equipo.

En esta tarea

INTRODUCCIÓN

La evaluación de expresiones es un comportamiento que es conveniente en muchas circunstancias. Sin embargo, si parte de la expresión contiene un comando de shell, el comando de shell se analiza y ejecuta a continuación, en el equipo.

Puede utilizar el modo de recinto de seguridad para bloquear estas operaciones. Sin embargo, el predeterminado para el modo de recinto de Jet 4.0 no es habilitar el modo de recinto para las consultas que se ejecutan en Microsoft Access. El modo de recinto de seguridad está habilitado para las demás aplicaciones que no sean Access, como conectividad base de datos (ODBC).

Comprender cómo habilitar o deshabilitar el modo de recinto de seguridad

Advertencia si utiliza incorrectamente el Editor del Registro, puede causar serios problemas que tal vez requieran volver a instalar el sistema operativo. Microsoft no garantiza que pueda solucionar los problemas resultantes del uso incorrecto del Editor del Registro. Utilice el Editor del Registro bajo su responsabilidad.

Puede habilitar el modo de recinto para las aplicaciones que no sean Access. Para ello, debe instalar Microsoft Jet 4.0 Service Pack 3 (SP3) o posterior. Después de instalar esta actualización, la próxima vez que ejecuta una nueva clave de registro de Jet se agrega al registro. Esta nueva clave del Registro impide que este tipo de posibles riesgos de seguridad. Ésta es la clave del registro que se agrega:

\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode


Para obtener información adicional acerca de cómo obtener el Service Pack más reciente de Jet 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
239114Cómo obtener el Service Pack más reciente para el motor de base de datos Microsoft Jet 4.0
Para que el sistema sea más resistente a ataques malintencionados y al mismo tiempo que las aplicaciones antiguas a mantener en ejecución, el funcionamiento del modo de recinto de seguridad cambiado en Pack 8 de Jet 4.0 así que recinto modo está completamente bajo su control.

Puede establecer la clave de los siguientes valores, con 0 (cero) es el más permisivo y está menos permisivos de 3:

Contraer esta tablaAmpliar esta tabla
ConfiguraciónDescripción
0El modo recinto siempre está deshabilitado.
1El modo recinto se utiliza para aplicaciones de Access, pero no para aplicaciones que no son de Access.
2El modo recinto se utiliza para aplicaciones que no son de Access, pero no para aplicaciones de Access. Éste es el valor predeterminado.
3El modo recinto se utiliza siempre.

Después de que habilita el modo de recinto y, a continuación, intenta utilizar inseguro de Visual Basic para funciones de aplicaciones en una consulta de Jet 4.0, recibirá el siguiente mensaje de error:

Undefined función 'nombrefunción' en expresión

Implementar las operaciones de modo de recinto

Cómo puede implementar el modo de recinto de seguridad se extiende en Jet 4.0 Service Pack 8 para que sea más compatible con las bases de datos de Access. Las implementaciones anteriores del modo de recinto eran demasiado restrictivas para la mayoría de aplicaciones de Access. A partir de Service Pack 8 de Jet 4.0, el modo de recinto mejorado sigue bloque unsafe funciones de Visual Basic para aplicaciones, pero Pack 8 de Jet 4.0 permite ahora la ejecución de las funciones definidas por el usuario.

Utilizar Operaciones en modo recinto con Service Pack 3 de Jet 4.0 y versiones posteriores

Puede utilizar la siguiente lista de funciones en las consultas Jet cuando está habilitado el modo de recinto. Las funciones que no aparecen en la lista no están disponibles en modo de recinto de seguridad.
Contraer esta tablaAmpliar esta tabla
ABS matriz ASC ASCB ASCW ATN
CBOOL CBYTE CCUR CDATE CDBL Elija
CHR CHR $ CHRB CHRB $ CHRW CHRW $
CINT CLNG COS CSNG CSTR CVAR
CvDate CVErr fecha FECHA $ DATEADD DifFecha
datePart DATESERIAL DATEVALUE día DDB Error
Error $ EXP REVISIÓN formato formato $ VF
hex hex $ HORA IIF IMEStatus inStr
INT IPMT IRR isDate isEmpty ISERROR
isNull isNumeric isObject lCase $ lCase IZQUIERDA
$ IZQUIERDA IZQUIERDAB IZQUIERDAB $ LEN LARGOB REGISTRO
lTrim lTrim $ MID MID $ EXTRAEB EXTRAEB $
MINUTO MIRR MES AHORA NPER NPV
octubre $ octubre partición PAGO PPMT PV
QBColor TASA RGB DERECHA $ DERECHO DERECHAB
DERECHAB $ Rnd redondear rTrim $ rTrim SEGUNDO
Sgn SEN SLN espacio $ espacio Sqr
Str Str $ strComp strConv cadena cadena $
modificador SYD TAN TIEMPO TIEMPO $ temporizador
timeSerial TIMEVALUE RECORTAR TRIM $ typeName MAYÚS
MAYÚS $ Val varType DÍA DE LA SEMANA AÑO

Comprender Visual Basic para las funciones de aplicaciones que generan errores cuando llame desde una consulta Jet o una propiedad de Access cuando se utiliza Pack 8 de Jet 4.0

La siguiente funciones Visual Basic para aplicaciones producirá un error cuando se llama a las funciones de una expresión en una consulta Jet, o desde una propiedad de Access:
Contraer esta tablaAmpliar esta tabla
AppActivateBipCalendarioCallByNameChDir
ChDriveComandoComando $CreateObjectCurDir
CurDir $DeleteSettingDoEventsEntorno (Environ)Entorno (Environ) $
EOFErrFileAttrFileCopyFileDateTime
FileLenFreeFileGetAllSettingsGetAttrGetObject
GetSettingEntradaEntrada $InputBInputB $
EliminarCargaLOCLOFRandomize)
RestablecerSaveSettingBuscarSendKeysSetAttr
ShellSpcFichaDescargarUserForms
Ancho

Propiedades

Id. de artículo: 239482 - Última revisión: martes, 10 de agosto de 2004 - Versión: 6.0
La información de este artículo se refiere a:
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Open Database Connectivity Driver for Access 4.0
  • Microsoft Office 2000 Professional Edition
Palabras clave: 
kbmt kbhowto kbconfig kbinfo kbfix KB239482 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 239482

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com