首页新闻找找看学习计划

SqlCommand 的 CommandText 长度问题

0
悬赏园豆:10 [已解决问题] 解决于 2019-10-15 10:14

如题
了解一下各大db(主要了解Sqlserver)的 SqlCommand 的 CommandText 有没有长度限制
因为没出现过,所以想了解一下...

Not`Anymore的主页 Not`Anymore | 菜鸟二级 | 园豆:217
提问于:2019-10-12 11:49
< >
分享
最佳答案
2

答案引用于:https://stackoverflow.com/questions/21390537/sqlcommand-executenonquery-maximum-commandtext-length

与SQL Server版本有关:
http://technet.microsoft.com/en-us/library/ms143432.aspx
对于SQL Server 2012,批处理大小或SQL语句(字符串)=65536*网络数据包大小。
网络数据包大小是用于在应用程序和关系数据库引擎之间通信的表格式数据流(TDS)数据包的大小。默认数据包大小为4kb,由网络数据包大小配置选项控制。
简而言之,64k x 4k=256 MB。同样,这假设您使用的是默认的数据包大小。

收获园豆:10
黑白条纹 | 菜鸟二级 |园豆:286 | 2019-10-12 14:59
其他回答(1)
0

查看文档看看,至少目前为至没有写到这超这长度的,如果很长的,可以读性也可能不好。
在数据库里面如果是varchar(max)与nvarchar(max)这种是可以无限长的。没有带长度就可以无限长。

gw2010 | 园豆:1337 (小虾三级) | 2019-10-12 13:22

看了楼下的回答,受益匪浅,理论上没有无限长度的,只是平时我们没用到这么长的语句而已。上面说的nvarchar(max)这个字符串里面也说到了,其实也有长度的,2^30-1字符数

支持(0) 反对(0) gw2010 | 园豆:1337 (小虾三级) | 2019-10-12 16:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册