2014-03-28 61 views
0

我试图使用一个Oracle存储过程,其中两个输入采用TABLE of NUMBER。我从C#调用它,我想使用System.Data.OracleClient而不是ODP.NET,因为这是我公司正在采用的方法,所以请避免使用ODP.NET的答案。我无法创建可接受的输入参数。我该怎么办?在C#中创建用于调用Oracle存储过程的输入表参数

+0

如果改变框架,以适应ODP.NET是毫无疑问的,你能不能拿在存储步骤有两种逗号分隔字符串(VARCHAR2)值,并从那里出发? – abhi

+0

虽然我不喜欢这种方法或其变体,但我确实可以控制存储过程的参数。 – ricksmt

回答

0

自从我尝试过这样的事情已经有几​​年了,但从历史上看,传递深奥类型(数组,用户定义的类型,表)到.NET托管数据提供者的能力最差。我怀疑System.Data.OracleClient支持这一点。 ODP.NET可能会带来更好的运气。

值得注意:http://msdn.microsoft.com/en-us/library/77d8yct7.aspx

+0

同意;然而,我的公司使用一个采用'System.Data.OracleClient'的框架,并没有简单的解决方法。 – ricksmt

+0

这是您开发过程中必须作出决定的那些要点之一 - 简化存储的特效或更改数据提供者。这些可能是唯一的选择。抱歉! –

相关问题