Pregunta

Estoy teniendo un problema por el que una columna dentro de una tabla de mina tiene datos que se codifica usando el método System.Xml.XmlConvert.Encode.

Ahora necesito para manipular estos datos en SQL y no he encontrado una manera de duplicar el método System.Xml.XmlConvert.Decode.

Así que he estado investigando cómo puedo usar el espacio de nombres System.XML dentro de SQL para acceder a este método sin tener que envuelve dentro de una de mis propias asambleas. es posible? es decir, ¿cómo puedo acceder a esta asamblea directamente a través de T-SQL?

¿Fue útil?

Solución

Hay un buen número de ejemplos de escritura complementos utilizando .NET para SQL. Creo que tendrá que tener SQL 2005 o más reciente para crear un add-in.

Este es un ejemplo que es particularmente útil.

Creación de funciones definidas por el usuario CLR SQL para validar valores Utilizando expresiones regulares @ MSDN

En su caso, es probable que desee escribir una función que toma un byte [] y devuelve una cadena (recepción), junto con una función correspondiente que toma una cadena y devuelve un byte [].

En realidad no estoy seguro de que se puede utilizar directamente byte [], pero usted debería ser capaz de escribir una función de contenedor correspondiente en SQL que se puede tomar una cadena hexadecimal y convertirlo en un varbinary () si es necesario.

editar

Estos son algunos enlaces más duraderas a otras referencias que se incluyen en el enlace anterior, en caso de que nunca desaparece.

Cómo crear y ejecutar un SQL CLR Función definida por el usuario @ MSDN

atributos personalizados para CLR rutinas @ TechNet

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top