Al tratar de leer información adicional (valor en property bag) se genera un error

System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

asked 26 Sep '15, 13:10

sbarahona's gravatar image

sbarahona ♦♦
(suspended)
accept rate: 32%


Normalmente un campo de property bag tiene esta estructura <EMP_DIRECTIVO_COOP>false</EMP_DIRECTIVO_COOP>

Sin embargo, si existen procedimientos almacenados que actualicen los valores de los property bag utilizando la función gen.set_pb_field_data con un valor nulo, el campo del property bag "pierde" su estructura y queda asi <EMP_CODTPL_13VO /> cuando debería de quedar asi <EMP_CODTPL_13VO> </EMP_CODTPL_13VO>

Se sugiere seguir las siguientes recomendaciones:

Agregar este par de líneas al inicio de la función gen.set_pb_field_data para que en el caso de que el valor a cargar sea nulo, no actualice nada

if @valor is null
return @xml

Validar que el valor a insertar no sea nulo

UPDATE exp.emp_empleos 
    SET emp_property_bag_data = gen.set_pb_field_data(emp_property_bag_data, 'Empleos', 'EMP_DEVENGA_COMISION', @variable_temp)
    WHERE emp_codigo = @codemp
    and @variable_temp is not null

Para revisar si tienen registros del property bag con estas inconsistencias pueden utilizar la siguiente sentencia

SELECT emp_codigo
FROM exp.emp_empleos
WHERE CHARINDEX('<EMP_CODIGO_BASIS/>',CONVERT(VARCHAR(MAX),emp_property_bag_data),1) > 0

Para depurar dichos registros, pueden utilizar la siguiente sentencia

UPDATE exp.emp_empleos
SET emp_property_bag_data.modify('delete /DocumentElement/*/EMP_CODIGO_BASIS')
where CHARINDEX('<EMP_CODIGO_BASIS/>',CONVERT(VARCHAR(MAX),emp_property_bag_data),1) > 0
link

answered 26 Sep '15, 14:02

sbarahona's gravatar image

sbarahona ♦♦
(suspended)
accept rate: 32%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×15
×3

Asked: 26 Sep '15, 13:10

Seen: 1,729 times

Last updated: 26 Sep '15, 14:02

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática