2012-04-27 70 views
3

当开发在DAL中使用ODP .NET的应用程序时,总是将Size属性设置为OracleParameter。例如:什么是OracleParameter.Size影响?

getSPTimeCommand.Parameters.Add("pStartTime", OracleDbType.Varchar2, ParameterDirection.Output).size = 200; 

是不是很难看?考虑自动设置Size参数OracleParameter我想过它会影响性能或内存消耗。这是什么影响?您设定Size的场景是什么?

在此先感谢!

回答

0

the documentation

指定的最大大小,在传输到或从数据库中的数据的 字节或字符。对于PL/SQL关联数组 绑定,大小指定PL/SQL中元素的最大数目 关联数组。

在你的情况下,它是你传递给数据库的varchar2的最大尺寸。

+0

我读过文档。问题是将这个'Size'属性设置为200或者'In64.MaxValue'有区别吗? – kseen 2012-04-27 09:02:51

+0

适配器将通过调用str.Length来计算出字符串的长度。如果提前指定它,速度会稍微快一点,因为在创建数据传输缓冲区之前,适配器会跳过检查参数。 – Candide 2012-04-27 09:32:34

+0

如果我没有指定Size属性,它只会引发Oracle错误,指出该字符缓冲区太小。 – kseen 2012-04-27 09:35:43