【问题标题】:Is it possible to send a Int[] to an Oracle Stored Procedure using OleDb是否可以使用 OleDb 将 Int[] 发送到 Oracle 存储过程
【发布时间】:2011-11-25 23:46:59
【问题描述】:

是否可以使用 OleDb 从 c# 应用程序将int[] 发送到 Oracle 存储过程?

我想知道是否有设置 c# OleDbType 和 Oracle 存储过程中的类型的特定方法。目前我正在使用这种设置。

C#

int[] intArray = new int[] { 1, 2};

cmd.Parameters.Add(new OleDbParameter("var_name", intArray));
cmd.Parameters[i].OleDbType = OleDbType.Variant
cmd.Parameters[i].Size = 20;

甲骨文

TYPE intArray IS TABLE OF NUMBER;
PROCEDURE proc(var_name IN intArray);

提前谢谢你-安口

【问题讨论】:

    标签: c# oracle stored-procedures oracle10g oledb


    【解决方案1】:

    设法解决了我自己的问题。

    鉴于没有人提出解决方案,我决定通过发送 CSV 字符串来解决此问题,然后创建了一个拆分方法,以便将每个值添加到 TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;,然后可以在其他地方使用。

    所以也有一个解决方案和一个字符串拆分功能:)

    【讨论】:

      猜你喜欢
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多