Error: Recibe un mensaje de error "Bad File Name or Number" cuando puede convertir bases de datos con páginas de acceso de datos almacenado en servidor

Seleccione idioma Seleccione idioma
Id. de artículo: 282380 - Ver los productos a los que se aplica este artículo
Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utiliza el Asistente para convertir a SQL Server para convertir una base de datos de Microsoft Access que contiene páginas de acceso de datos a un proyecto de Access, puede recibir el siguiente mensaje de error:
Nombre de archivo UT_HandleADPDataPages incorrecta o número 52

Causa

Este comportamiento puede ocurrir porque las páginas de acceso a datos se vinculan utilizando una ruta del servidor Web, como http://, ftp: / /, o https://. El Asistente para convertir a SQL Server no controla correctamente estas rutas de acceso cuando crea el nuevo proyecto.

Solución

Para evitar este problema, utilice uno de los métodos siguientes.

Método 1: Volver a crear vínculos

Volver a crear los vínculos a las páginas de acceso de datos existente después de haber creado el nuevo proyecto de Access.

Método 2: Utilizar código VBA

Utilice Microsoft Visual Basic para aplicaciones (VBA) para volver a crear páginas cuyos vínculos no se copian correctamente por el Asistente para convertir a SQL Server.

Nota : este código modificará las páginas de acceso de datos existentes. Se recomienda que cree copias de seguridad de las páginas antes de ejecutar este código.

Para volver a vincular las páginas mediante código de VBA, siga estos pasos:

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.
  1. Haga clic en el objeto módulos en el proyecto de Access recién creado y, a continuación, haga clic en nuevo .
  2. Escriba o pegue el código siguiente en el Editor de Visual Basic:
    Sub RelinkDataPages(strPathToMDBFile As String)
    
        ' Automates Access to create a new data access page in the
        ' project file (.adp) from the links in the database (.mdb) file
        Dim ao As AccessObject
        Dim dp As DataAccessPage
        
        Dim objAccApp As Access.Application
        Set objAccApp = New Access.Application
        
        With objAccApp
            ' open the original MDB file
            .OpenCurrentDatabase strPathToMDBFile
            For Each ao In .CurrentProject.AllDataAccessPages
                
                ' Create the new path with the link from the existing page
                Set dp = Application.CreateDataAccessPage(ao.FullName, False)
                
                ' Modify the connection of the page to match the ADP's connection info.
                ' Using the .Connection or .AccessConnection property includes the
                ' Microsoft.Access.OLEDB.10.0 provider and will not work in the connection
                ' string of a data access page.  As a result, use the .BaseConnectionString
                ' property instead to get the basic information.
    
                ' If you are using SQL Server security, you will need to
                ' to concatenate the user name and password information
                ' for the page.
                dp.MSODSC.ConnectionString = CurrentProject.BaseConnectionString
                
                ' save the new page
                DoCmd.Save acDataAccessPage, dp.Name
                
                ' close the page
                DoCmd.Close acDataAccessPage, dp.Name
                
            Next
        End With
        
        ' cleanup
        Set ao = Nothing
        objAccApp.Quit
        Set objAccApp = Nothing
        
        MsgBox "Pages have been relinked"
    End Sub
    					
  3. Guarde el módulo como FixLinks .
  4. Escriba la línea siguiente en la ventana Inmediato y presione ENTRAR
    RelinkDataPages "<FullPathToDatabase>"
    					
    donde <fullpathtodatabase> es la ruta de acceso a la base de datos que acaba convertida.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.

Más información

Cuando utilice el Asistente para convertir a SQL Server para convertir una base de datos para un proyecto de Access, objetos en la base de datos se copian a los objetos correspondientes en el nuevo proyecto de Access. Objetos Page son realmente vínculos o accesos directos a páginas Web almacenan fuera del archivo de base de datos. Las páginas pueden almacenarse localmente, en un recurso compartido de red y tener acceso mediante el sistema de archivos, o en un servidor Web y tiene acceso a través de un protocolo de Internet como HTTP, HTTPS o FTP.

Cuando se copian los objetos de la página, el Asistente para convertir a SQL Server es capaz de copiar los vínculos sólo cuando se cumplen las condiciones siguientes:
  • Se obtiene acceso a las páginas a través del sistema de archivos localmente o a través de una red.

    En otras palabras, se obtiene acceso no a través un protocolo de Internet.

    - y -
  • Los vínculos de página son válidos; es decir, las páginas no se hayan movido, eliminadas o cambiar el nombre.
Para vínculos de página guardado en un protocolo de Internet, recibirá el mensaje de error descrito en la sección "Síntomas" de este artículo al convertir la base de datos. No recibirá mensaje de error vínculos no válidos que apuntan a un sistema de archivos. En este caso, puede resultarle útil para comprobar los vínculos antes de convertir la base de datos.

Pasos para reproducir el problema

  1. Inicie Access y crear una nueva base de datos en blanco.
  2. Importar la tabla empleados de en el ejemplo de base de datos Neptuno.mdb.
  3. Crear una nueva página basada en la tabla Employees y guárdelo en un directorio de Internet en el que tenga permisos.
  4. En el menú Herramientas , seleccione Utilidades de base de datos y, a continuación, haga clic en Asistente para convertir a SQL Server .
  5. Acepte los valores predeterminados en el Asistente para convertir a SQL Server y, a continuación, seleccione un equipo de Microsoft SQL Server en el que tenga permisos "crear la base de datos".

    Observe que cuando el Asistente para convertir a SQL Server comienza a copiar páginas, se detiene en la página Web existente y muestra el mensaje de error descrito en la sección "Síntomas" de este artículo.
  6. Haga clic en Aceptar en mensaje de error (o mensajes) y cerrar el Asistente para convertir a SQL Server informe.
  7. Haga clic en el objeto de páginas en la ventana base de datos y, a continuación, observe que el vínculo de página de acceso a datos no se copió al proyecto de Access como se esperaba.

Propiedades

Id. de artículo: 282380 - Última revisión: miércoles, 11 de octubre de 2006 - Versión: 4.3
La información de este artículo se refiere a:
  • Microsoft Access 2002 Standard Edition
Palabras clave: 
kbmt kbwizard kbdap kbtshoot kbbug kberrmsg kbnofix KB282380 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): 282380

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