Hola. Estoy tratando de aprender a registrar (en SQLServer2005) un ensamblado
de .Net y crear UTDs que se correspondan con las clases del ensamblado.
Hasta ahora, guiado por la ayuda, creé un proyecto en c#, de tipo "Base de
Datos", lo llame "DTSEmpleado". En el proyecto cree 2 clases: "Empleado y
"Direccion". Estas son las Clases:
using System;
using System.Collections.Generic;
using System.Text;
namespace DTSEmpleado
{
class Empleado
{
string _Apellido;
string _Nombres;
private Direccion _Direccion;
public string Apellido
{
get { return _Apellido; }
set { _Apellido = value; }
}
public String Nombres
{
get { return _Nombres; }
set { _Nombres = value; }
}
public Direccion Direccion
{
get { return _Direccion; }
set { _Direccion = value; }
}
public new string ToString() { return this.Apellido + ", " +
this.Nombres; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace DTSEmpleado
{
class Direccion
{
private string _Calle;
private string _Altura;
public string Calle
{
get { return _Calle; }
set { _Calle = value; }
}
public string Nro
{
get { return _Altura; }
set { _Altura = value; }
}
public new string ToString() { return this.Calle + " " + this.Nro; }
}
}
Luego desde el menú "Generar" elegi "Generar DTSEmpleado", me generó bien.
Despues elegí "ImplementarDTSEmpleado" y también finalizó bien. Esto ultimo
"Generar DTSEmpleado". según leí en la ayuda, registra el ensamblado en la
base de datos (que se llama Empresa). Y parece que me registró bien porque en
el arbol: Empresa-->Programmaility-->Assemblies se encuetra DTSEmpleado.
Despues ejecute el siguiente script:
USE [Empresa]
GO
CREATE TYPE dbo.Empleado
EXTERNAL NAME DTSEmpleado.Empleado;
y me muestra el siguiente mensaje:
Msg 6556, Level 16, State 1, Line 8
Error de CREATE TYPE porque no se encontró el tipo 'Empleado' en el
ensamblado 'DTSEmpleado'.
Msg 6597, Level 16, State 1, Line 8
Error de CREATE TYPE.
¿Como se soluciona esto? ¿Algun link a un buen tutorial o ejemplos?
Gracias desde ya . Saludos
Leer las respuestas