从 ODP.NET 移植到 dotConnect - OracleParameter.CollectionType 属性的等效项是什么?

发布于 2024-12-21 18:38:10 字数 507 浏览 2 评论 0原文

我正在将一堆代码从 ODP.NET 驱动程序移植到 DevArt dotConnect for Oracle。我遇到了以下不再编译的代码:

OracleParameter parameter = new OracleParameter("state", OracleDbType.Number);
parameter.CollectionType = OracleCollectionType.PLSQLAssociativeArray; //Red Squiggly
parameter.Direction = ParameterDirection.Input;
parameter.Value = State.ToArray();
parameter.Size = State.Count;
command.Parameters.Add(parameter);

似乎 Devart.Data.Oracle.OracleParameter 没有 CollectionType 属性。我应该在这里使用什么?

I'm porting a bunch of code from the ODP.NET drivers to DevArt dotConnect for Oracle. I ran into the following code that no longer compiles:

OracleParameter parameter = new OracleParameter("state", OracleDbType.Number);
parameter.CollectionType = OracleCollectionType.PLSQLAssociativeArray; //Red Squiggly
parameter.Direction = ParameterDirection.Input;
parameter.Value = State.ToArray();
parameter.Size = State.Count;
command.Parameters.Add(parameter);

It seems Devart.Data.Oracle.OracleParameter doesn't have a CollectionType property. What should I be using here instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘿嘿嘿 2024-12-28 18:38:10

来自此处

Devart.Data.Oracle.OracleParameter 没有 CollectionType
财产。如果您设置
Devart.Data.Oracle.OracleParameter.ArrayLength,那么这个参数
将是 PL/SQL AssociativeArray(PL/SQL 表)。了解更多详情
请参考
http://www.devart.com/dotconnect/oracle/docs/?PlSqlTable .html

简而言之:只需设置 ArrayLength ,Devart 就会自动将其视为 PLSQLAssociativeArray

您的代码应该是:

OracleParameter parameter = new OracleParameter();
parameter.ParameterName = "state";
parameter.Direction = ParameterDirection.Input;
parameter.OracleDbType = OracleDbType.Number; 
parameter.ArrayLength = State.Count;
parameter.Value = State.ToArray();
command.Parameters.Add(parameter);

From here:

Devart.Data.Oracle.OracleParameter does not have the CollectionType
property. If you set the
Devart.Data.Oracle.OracleParameter.ArrayLength, then this parameter
will be PL/SQL AssociativeArray (PL/SQL Table). For more details
please refer
http://www.devart.com/dotconnect/oracle/docs/?PlSqlTable.html

In short: just set ArrayLength and Devart treats it automatically as PLSQLAssociativeArray

Your code should thus be:

OracleParameter parameter = new OracleParameter();
parameter.ParameterName = "state";
parameter.Direction = ParameterDirection.Input;
parameter.OracleDbType = OracleDbType.Number; 
parameter.ArrayLength = State.Count;
parameter.Value = State.ToArray();
command.Parameters.Add(parameter);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文