0

大量のコードをODP.NETドライバーからDevArtdotConnectforOracleに移植しています。コンパイルされなくなった次のコードに遭遇しました。

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.OracleParameterCollectionTypeプロパティがないようです。代わりにここで何を使用する必要がありますか?

4

1 に答える 1

2

ここから:

Devart.Data.Oracle.OracleParameterCollectionType プロパティがありません。を設定する 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);
于 2011-12-16T22:25:56.823 に答える