Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';这是OracleParameter。大小影响?_C#_.net_Oracle_Data Access Layer_Odp.net - Fatal编程技术网

C# 什么';这是OracleParameter。大小影响?

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参数,我考虑了它对性能或内存消耗的影响。这种影响是什么?设置大小的方案是什么 提前谢谢

当开发一个在DAL中使用ODP.NET的应用程序时,总是设置
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的确切版本好吗?