[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);
}
}
当我在 SQL 中运行该方法时
EXEC MyMethod
错误
消息 6522,级别 16,状态 1,过程 MyMethod,第 0 行在执行用户定义的例程或聚合“MyMethod”期间发生 .NET Framework 错误:System.ArgumentException:dbType NVarChar 对于此构造函数无效。System.ArgumentException:在 Microsoft.SqlServer.Server.SqlMetaData..ctor 的 Microsoft.SqlServer.Server.SqlMetaData.Construct(字符串名称,SqlDbType dbType,布尔 useServerDefault,Boolean isUniqueKey,SortOrder columnSortOrder,Int32 sortOrdinal)在 Microsoft.SqlServer.Server.SqlMetaData..ctor(字符串名称,SqlDbType dbType ) 在 WcfClrApps.MyNamespace.MyMethod()
如何返回我自己创建的记录?我不想运行任何 SQL。项目构建设置为 .NET 3.5。MSDN 指出 SQL 2008 R2 不支持 4.0。