我在PL SQL中的存储过程包含来自自定义对象类型的参数。我怎样才能在delphi中传递参数?如何在delphi中定义它?
答案 0 :(得分:2)
对象数据类型是一个特定于oracle的概念,您通常不会在支持多个数据库的库上找到对此的支持,例如Delphi的dbExpress甚至dbGo(ADO)。
您不包含有关您使用的数据访问层的信息,因此我无法具体说明此特定层是否支持oracle对象,以及它是如何工作的,因此这是一般建议。
幸运的是,您在Delphi中找到了Oracle特定数据访问库,并且可能所有这些都包含对oracle Objects的某种支持。 IIRC我所知道的所有图书馆都不是免费的。
例如,使用allroundautomations Direct Oracle Access产品,您拥有TOracleObject
类,用于读取和写入对象到oracle数据库。
例如,您可以使用TOracleQuery
调用存储过程,并将对象传递给调用SetComplexVariable
方法的过程,并将TOracleObject
实例作为参数传递。
有关详细信息,请查看DOA manual(搜索TOracleQuery.SetComplexVariable
方法参考)。