总之,我在哪里可以找到C#/ VB客户端示例代码,该代码使用一些argumnet [如sqlxml数据]调用CLR存储过程并接收数据读取器或其他形式的结果?调用CLR存储过程
而且我怎么定期收到来自通过SQlContext.Pipe.Send()方法发送的运行CLR存储过程的信息?
总之,我在哪里可以找到C#/ VB客户端示例代码,该代码使用一些argumnet [如sqlxml数据]调用CLR存储过程并接收数据读取器或其他形式的结果?调用CLR存储过程
而且我怎么定期收到来自通过SQlContext.Pipe.Send()方法发送的运行CLR存储过程的信息?
只要你拨打普通stroed程序相同的方式。也许是......
EXEC StoredProcedure1
我写了一篇博客长期回来 - Write your first SQL Server CLR Stored Procedure
我知道我通常创建一个普通的T-SQL存储过程,它调用我的CLR函数或存储的特效。然后他们可以像所有其他存储过程一样对待。
// run a stored procedure that takes a parameter
public void RunStoredProcParams()
{
SqlConnection conn = null;
SqlDataReader rdr = null;
// typically obtained from user
// input, but we take a short cut
string custId = "FURIB";
Console.WriteLine("\nCustomer Order History:\n");
try
{
// create and open a connection object
conn = new
SqlConnection("Server=(local);DataBase=Northwind;Integrated Security=SSPI");
conn.Open();
// 1. create a command object identifying
// the stored procedure
SqlCommand cmd = new SqlCommand(
"dbo.CustOrderHist", conn);
// 2. set the command object so it knows
// to execute a stored procedure
cmd.CommandType = CommandType.StoredProcedure;
// 3. add parameter to command, which
// will be passed to the stored procedure
cmd.Parameters.Add(
new SqlParameter("@CustomerID", custId));
// execute the command
rdr = cmd.ExecuteReader();
// iterate through results, printing each to console
while (rdr.Read())
{
Console.WriteLine(
"Product: {0,-35} Total: {1,2}",
rdr["ProductName"],
rdr["Total"]);
}
}
finally
{
if (conn != null)
{
conn.Close();
}
if (rdr != null)
{
rdr.Close();
}
}
}
}
enter code here
感谢。这与我想要的非常接近。仍然有一个问题,我如何定期从存储过程接收更新?例如,我有一个CLR存储过程是进入一个循环,并使用“SqlContext.Pipe.Send(%完成)”通知客户端上的进度。我如何在客户端收到这些信息? – captonssj 2009-10-30 14:33:53
// Create a record object that represents an individual row, including it's metadata.
SqlDataRecord record = new SqlDataRecord(new SqlMetaData("stringcol", SqlDbType.NVarChar, 128));
// Populate the record.
record.SetSqlString(0,("Hello World!" + System.DateTime.Now));
// Send the record to the client.
SqlContext.Pipe.Send(record);
是的,我知道这一点。我如何收到此infomration在客户端上,如果我有一个循环内SqlContext.Pipe.Send(记录)? 我想要一个客户端示例代码。 – captonssj 2009-11-02 14:36:34
string connectionString = ConfigurationManager.AppSettings["ConnectDB"];
SqlConnection sn = new SqlConnection(connectionString);
SqlParameter[] sqlParameters = new SqlParameter[1];
sn.Open();
SqlCommand dCmd = new SqlCommand("dbo.HelloWorld", sn);
dCmd.CommandType = CommandType.StoredProcedure;
SqlDataReader rdr = null;
rdr = dCmd.ExecuteReader();
while (rdr.Read())
{
for (int i = 0; i < rdr.FieldCount; i++)
Response.Write(rdr[i]);
}
sn.Close();
}
@captonssj hav u check this? – 2009-11-07 06:22:06
链路断开时,这些天 – Paul 2017-10-02 21:46:36