Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Recuerde lo siguiente al usar diagramas de actualización XML:
Si usa un diagrama de actualización para una operación de inserción con un solo par de <bloques antes> y <después> , se puede omitir el <bloque before> . Por el contrario, en el caso de una operación de eliminación, se puede omitir el <bloque after> .
Si usa un diagrama de actualización con varios <bloques antes> y después de la etiqueta de sincronización, se< deben especificar los bloques antes> y <después de los bloques para formar antes y después> de los pares.<><><><>
Las actualizaciones de un diagrama de actualización se aplican a la vista XML proporcionada por el esquema XML. Por lo tanto, para que la asignación predeterminada se realice correctamente, debe especificar el nombre del archivo de esquema en el diagrama de actualización o, si no se proporciona el nombre de archivo, los nombres de elemento y atributo deben coincidir con los nombres de tabla y columna de la base de datos.
SQLXML 4.0 requiere que todos los valores de columna de un diagrama de actualización se asignen explícitamente en el esquema (XDR o XSD) proporcionados para componer la vista XML para sus elementos secundarios. Este comportamiento difiere de las versiones anteriores de SQLXML, que permitían un valor para una columna no asignada en el esquema si se implicaba como parte de la clave externa en una
sql:relationshipanotación. (Tenga en cuenta que este cambio no afecta a la propagación de valores de clave principal a elementos secundarios, que todavía se produce para SQLXML 4.0 si no se especifica explícitamente ningún valor para el elemento secundario.Si usa un diagrama de actualización para modificar datos en una columna binaria (como el tipo de datos de SQL Server
image), debe proporcionar un esquema de asignación en el que se debe especificar el tipo de datos de SQL Server (por ejemplo,sql:datatype="image") y el tipo de datos XML (por ejemplo,dt:type="binhex"odt:type="binbase64). Los datos de la columna binaria deben especificarse en el diagrama de actualización; El diagrama de actualización omite lasql:url-encodeanotación especificada en el esquema de asignación.Al escribir un esquema XSD, si el valor especificado para la
sql:relationanotación osql:fieldincluye un carácter especial, como un carácter de espacio (por ejemplo, en el nombre de la tabla "Detalles del pedido"), este valor debe incluirse entre corchetes (por ejemplo, "[Detalles del pedido]").Al usar diagramas de actualización, no se admiten las relaciones de cadena. Por ejemplo, si las tablas A y C están relacionadas a través de una relación de cadena que usa la tabla B, se producirá el siguiente error al intentar ejecutar y ejecutar el diagrama de actualización:
There is an inconsistency in the schema provided.Aunque el esquema y el diagrama de actualización sean correctos y válidos, este error se producirá si existe una relación de cadena.
Los diagramas de actualización no permiten el paso de datos de
imagetipo como parámetros durante las actualizaciones.Los tipos binarios de objetos grandes (BLOB) como
text/ntexte imágenes no deben usarse en el <bloque anterior> en al trabajar con diagramas de actualización, ya que esto los incluirá para su uso en el control de simultaneidad. Esto puede causar problemas con SQL Server debido a las limitaciones en la comparación de tipos BLOB. Por ejemplo, la palabra clave LIKE se usa en la cláusula WHERE para comparar entre columnas deltexttipo de datos; sin embargo, las comparaciones producirán un error en el caso de los tipos BLOB en los que el tamaño de los datos sea mayor que 8K.Los caracteres especiales de
ntextlos datos pueden causar problemas con SQLXML 4.0 debido a las limitaciones de comparación de los tipos BLOB. Por ejemplo, el uso de "[Serializable]" en el <bloque anterior> de un diagrama de actualización cuando se usa en la comprobación de simultaneidad de una columna dentexttipo producirá un error con la siguiente descripción de error de SQLOLEDB:Empty update, no updatable rows found Transaction aborted
Véase también
Consideraciones de seguridad del diagrama de actualización (SQLXML 4.0)