Infopath DataAdapterException

Este error me ha costado pegarme durante dos días con InfoPath. El problema que me surgía era que tenía una plantilla xsn que me funcionaba perfectamente en desarrollo y me daba el siguiente error en real/producción:

 

The following query failed … DataAdapterException, Exception Message: La base de datos devuelve un error. No se pudieron habilitar las restricciones. Una o varias filas contienen valores que infringen las restricciones NON-NULL, UNIQUE o FOREIGN-KEY

 

El problema venía al realizar una consulta sobre una base de datos, incluso quitándola y volviendo a regenerar seguía dando el mismo problema.

 

La solución vino al analizar el manifest exacto del xsn. El fichero manifest.xsf consiste en un fichero que contiene la descripción de la estructura del formulario y los elementos asociados. Los ficheros xsn de infopath consisten en un fichero comprimido que contiene todos los elementos que necesita infopath para mostrar el formulario y procesarlo. Esto puede contener los ficheros de imágenes xsd’s con las definiciones de los orígenes de datos, la dll con el código del formulario, el manifest y otros.

Para poder ver el contenido abriremos el xsn en modo diseño y lo guardaremos como “Guardar como archivos de origen…”.

 

Mi problema en concreto venía porque la definición del xsd del origen de datos no coincidía exactamente con la estructura en producción. La solución fue cambiarla a mano (comparándolo con otras plantillas que si funcionaban), abrí el fichero manifest.xsf en modo diseño guardarla de nuevo como xsn y volver a publicarla.

Publicado por

Mario Cortés

Mario Cortés Flores es MVP en Office 365, trabaja en Plain Concepts como Team Lead y escribe habitualmente en geeks.ms/blogs/mcortes y en Twitter @mariocortesf. Podréis encontrarlo colaborando activamente con la comunidad de MadPoint y SUGES

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *