使用BLToolkit在Oracle中输出用户定义类型的参数



我一直在尝试使用BLToolkit来激活一个Oracle存储过程,该过程将用户定义类型作为参数作为输出参数并对其进行更改。

我已经在一个基元类型上做到了这一点,并且还通过手动调用SetspCommonamd,但是我想使用抽象类生成方法,但似乎无法使其工作。

我确信我写的代码是正确的(适用于原语)。当调试时,我发现生成的代码调用的SetspCommand得到了wierd参数,而不是我提供的参数,而当我手动调用该方法时(它得到了我想要的确切参数)。我希望我能看到反射发射生成的代码,看看那里出了什么问题。

有人能帮我弄清楚为什么这不起作用吗?

发现问题(可能是BLToolkit中的错误)。

BLToolkit并没有按原样将UDT类传递给过程(相反,它试图将其压扁或其他东西,并传递对象的内部)。我把对象改成了Struct而不是Class,并修复了它。

后来,我也把它改回了class,并在BLToolkit代码中的"IsScaler()"方法中做了一个补丁。

我会将此报告为Bug,希望他们能修复它。

最新更新