sql 2008的函数如何使用SqlContext.Pipe.Send(SqlDataReader dr)
我通过.net3.5写了个函数
public static void updateColumn(SqlString sqlStr)
{
string conn = "Data Source=JR004;Initial Catalog=Sales;Integrated Security=True";
SqlConnection myconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand(sqlStr.ToString(), myconn);
myconn.Open();
SqlDataReader dr = cmd.ExecuteReader();
SqlContext.Pipe.Send(dr);
myconn.Close();
}
上面的代码将向客户端返回一个SqlDataReader
在sql server2008中,我先create assembly,这个没问题,问题是我想创建一个函数,这个函数该如何使用SqlContext.Pipe.Send的返回呢?
也就是create function test(@str nvarchar(500))
retures table(....)
with execute as caller
as
EXTERNAL NAME [animTable].[ReturnAnimTable.Test].[updateColumn]
但是创建的时候总是报错:CREATE FUNCTION for "test" failed because T-SQL and CLR types for return value do not match
小弟第一次发帖,也没有积分,希望大家不吝赐教!!
先谢过了。