是否可以使用 OleDb 将 Int[] 发送到 Oracle 存储过程
是否可以使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
设法解决我自己的问题。
鉴于没有人提出解决方案,我决定通过发送一串 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 :)