[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);
}
}
Wenn ich die Methode in SQL laufenDie dbType NVarChar ist ungültig für diesen Konstruktor
EXEC MyMethod
Fehler
Msg 6522, Ebene 16, Status 1, Prozedur MyMethod, Linie 0 Ein .NET Framework Fehler trat während der Ausführung von benutzerdefinierten Routine oder Aggregat "MyMethod": System.ArgumentException: Der dbType NVarChar ist für diesen Konstruktor ungültig. System.ArgumentException: bei Microsoft.SqlServer.Server.SqlMetaData.Construct (String name, SqlDbType dbType, Boolean useServerDefault, Boolean IsUniqueKey, SortOrder columnSortOrder, Int32 sortOrdinal) bei Microsoft.SqlServer.Server.SqlMetaData..ctor (String Name, SqlDbType dbType) bei WcfClrApps.MyNamespace.MyMethod()
Wie kann eine Rückkehr eine Platte, die ich selbst erstellen? Ich möchte kein SQL ausführen. Der Projektaufbau ist für .NET 3.5 festgelegt. MSDN gibt an, dass 4.0 in SQL 2008 R2 nicht unterstützt wird.
Ist das Problem der Typ Wahl, oder ist das Problem, dass Sie keine Länge angegeben haben? –