伙计们租帮助我,我想我很接近,但我错过了一些东西。
背景
我正在重写一个 SQL CLR 程序集(存储过程),我的程序集联系另一个资源并取回 XML。我想将此 XML 作为记录集返回,而不是标量值。
从我所见,这是返回记录集的方法:
SqlContext.Pipe.Send(mySqlDataReader)
Send方法接受 3 个可能的参数:
public void Send(string message);
public void Send(SqlDataRecord record);
public void Send(SqlDataReader reader);
SqlDataReader类没有构造函数,SqlCommand.ExecuteReader()如何返回一个?
我认为我需要做的
- 创建我自己的继承自 IDataReader的类。
- 使此类使用 XML,并将其公开为记录(如 DataReader)。
- 覆盖 SqlDataReader 并将其传递给 SqlContext.Pipe.Send(mySqlDataReader) ???
这是它变得模糊的地方。