System.Data.SqlClient使用什么格式将过程参数传输到SQL Server

时间:2017-08-11 17:10:15

标签: sql-server c#-4.0 sqlclient

在使用System.Data.SqlClient执行带有SqlDbType.Structured参数的过程时,尝试估计通过网络传输到SQL Server的数据量。假设未加密的连接,以下是否会提供合理的估计?

DataTable dt = new DataTable();
//Fill with data
using (Stream ms = new MemoryStream())
{
   BinaryFormatter formatter = new BinaryFormatter();
   formatter.Serialize(ms, dt);
   var dataSize = ms.Length;
 }

1 个答案:

答案 0 :(得分:-1)

没有理由认为C#中的二进制格式化程序与SQL客户端的传输格式有任何关系。

估计(不太清楚您想要估算的内容)的最佳方法是文档(如果存在)或只是网络监视器和一些测试用例。

  

这个问题让我很担心 - 我想不出一个用例,这会是一个问题。所有当前网络上的任何合理大小的表(例如1 mb)都会很快。任何大表(例如1gb)都是你设计不好的信号。如果问题是受约束的系统(例如IOT),您可能需要更好的设计。