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

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
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
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).

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.
pra

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 282380 - Última revisión: 12/05/2015 23:19:30 - Revisión: 4.3

Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbwizard kbdap kbtshoot kbbug kberrmsg kbnofix KB282380 KbMtes
Comentarios