[Microsoft.SqlServer.Server.SqlProcedure]
public static void MyMethod()
{
string connectionString = "context connection=true";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlMetaData[] metaData = {
new SqlMetaData("Column1", System.Data.SqlDbType.NVarChar)
,new SqlMetaData("Column1", System.Data.SqlDbType.NVarChar)
};
SqlDataRecord record = new SqlDataRecord(metaData);
record.SetString(0,"hello world");
SqlContext.Pipe.SendResultsRow(record);
}
}
Cuando ejecuto el método en SQLEl tipo_bd Nvarchar no es válido para este constructor
EXEC MyMethod
error
Msg 6522, nivel 16, estado 1, procedimiento MiMetodo, Línea 0 A .NET Se ha producido un error de Framework durante la ejecución de la rutina definida por el usuario aggregate "MyMethod": System.ArgumentException: dbType NVarChar no es válido para este constructor. System.ArgumentException: en Microsoft.SqlServer.Server.SqlMetaData.Construct (String nombre, SqlDbType tipo_bd, Boolean useServerDefault, Boolean isUniqueKey, SortOrder columnSortOrder, Int32 sortOrdinal) en Microsoft.SqlServer.Server.SqlMetaData..ctor (String nombre, SqlDbType tipo_bd) en WcfClrApps.MyNamespace.MyMethod()
¿Cómo puede un retorno de un disco que yo creo a mí mismo? No quiero ejecutar ningún SQL. La compilación del proyecto está configurada para .NET 3.5. MSDN indica que 4.0 no es compatible con SQL 2008 R2.
¿El problema es la elección de tipo, o es el problema de que no se ha especificado una longitud? –