输入" OracleDbType.Int64"不能在PL / SQL表参数中使用 - devart dotConnect Express for Oracle

时间:2015-10-26 10:47:29

标签: c# oracle devart dotconnect

我正在开发一个项目,我想使用int64作为PL / SQL过程返回的数组中元素的返回类型。使用dotConnect Express for Oracle数据提供程序版本8.5.521(从nuget下载)调用该过程。

但是,当我分配OracleParameter.ArrayLength属性时,我会得到以下ArgumentException

  

输入" OracleDbType.Int64"不能在PL / SQL表参数中使用。

以下代码段会重现错误:

using System;
using System.Data;

namespace ConsoleApplication1
{
    public class Program
    {
        public static void Main()
        {
            // Using dotConnect.Express.for.Oracle.8.5.521 (from nuget)
            var op = new Devart.Data.Oracle.OracleParameter(
                parameterName:"RESULT",
                dbType:Devart.Data.Oracle.OracleDbType.Int64);

            op.IsNullable = true; // Ok
            op.Direction = ParameterDirection.ReturnValue; // Ok

            // Throws ArgumentException
            // Type "OracleDbType.Int64" cannot be used in PL/SQL table parameter.
            op.ArrayLength = 3;

            Console.WriteLine(op.OracleDbType);
        }
    }
}

如果我将dbType参数更改为Devart.Data.Oracle.OracleDbType.Integer,则不会抛出ArgumentException(但是,我需要int64数据类型,这就是为什么这不是一个选项)。

我在这里缺少什么?

0 个答案:

没有答案