是否可以使用 OleDb 将 Int[] 发送到 Oracle 存储过程

发布于 2024-12-06 11:25:43 字数 499 浏览 2 评论 0原文

是否可以使用 OleDb 将 int[] 从 ac# 应用程序发送到 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;

Oracle

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

提前致谢 - Ankou

Is it possible to send an int[] from a c# application using OleDb to an Oracle Stored Procedure?

I was wondering if there is a specific way of setting up both c# OleDbType and the type in the Oracle stored procedure. At the moment I am using this kind of setup.

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;

Oracle

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

Thankyou in advance - Ankou

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

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

发布评论

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

评论(1

時窥 2024-12-13 11:25:43

设法解决我自己的问题。

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

所以也有一个解决方案和一个字符串分割函数:)

Managed to fix my own problem.

Seeing as no one has came up with a solution I decided to fix this problem by sending in a string of CSV, then created a split method in order to add each value to TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER; which could then be used elsewhere.

So have a solution and a String Split function too :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文