sql 2008的函数如何使用SqlContext.Pipe.Send(SqlDataReader dr)

caipeng2008 2009-05-27 01:49:20
我通过.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

小弟第一次发帖,也没有积分,希望大家不吝赐教!!
先谢过了。
...全文
173 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
随风 2009-06-05
  • 打赏
  • 举报
回复
CREATE PROCEDURE test
@str nvarchar(500)
AS
EXTERNAL NAME [animTable].[ReturnAnimTable.Test].[updateColumn] ;
GO

不用写返回值,sql 里也没有那样的用法
caipeng2008 2009-06-05
  • 打赏
  • 举报
回复
最后放弃了,是没有这样的用法!
多谢楼上的回帖了,不过我第一次发帖,都没分给,不好意思哦。

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧