C# 什么';这是OracleParameter。大小影响?
当开发一个在DAL中使用ODP.NET的应用程序时,总是设置C# 什么';这是OracleParameter。大小影响?,c#,.net,oracle,data-access-layer,odp.net,C#,.net,Oracle,Data Access Layer,Odp.net,当开发一个在DAL中使用ODP.NET的应用程序时,总是设置OracleParameter的Size属性是非常烦人的。例如: getSPTimeCommand.Parameters.Add("pStartTime", OracleDbType.Varchar2, ParameterDirection.Output).size = 200; 那不是很难看吗?考虑自动设置OracleParameter的Size参数,我考虑了它对性能或内存消耗的影响。这种影响是什么?设置大小的方案是什么 提前谢谢
OracleParameter
的Size
属性是非常烦人的。例如:
getSPTimeCommand.Parameters.Add("pStartTime", OracleDbType.Varchar2, ParameterDirection.Output).size = 200;
那不是很难看吗?考虑自动设置OracleParameter
的Size
参数,我考虑了它对性能或内存消耗的影响。这种影响是什么?设置大小的方案是什么
提前谢谢 来自:
指定数据的最大大小(以字节或字符为单位)
发送到数据库或从数据库发送。对于PL/SQL关联数组
Bind,Size指定PL/SQL中的最大元素数
关联数组
在您的情况下,它是传递到数据库的varchar2的最大大小。我确实读过文档。问题是,如果将此Size
属性设置为200或In64.MaxValue
,则会有区别吗?适配器将通过调用str.length来计算字符串的长度。如果您提前指定它,速度会快一点,因为适配器在创建数据传输缓冲区之前会跳过对参数的检查。如果我没有指定Size属性,它只会抛出一个Oracle错误,指出char buffer太小。实际上,我的odt v11版本甚至没有对此抱怨。它只是截短字符串参数并将其发送。请您编写odp的确切版本好吗?