我正在将我们的数据库层从OCI for Oracle 7升级到OCCI for Oracle 12c。在OCI(7)中,可以按编号绑定参数,这样在语句SELECT * FROM TestTable WHERE name = :2 and number = :1
中,您可以将值绑定到:1
,将值绑定到:2
,无论如何声明中:1
和:2
的位置。
我们旧代码的较高层生成的语句通常采用SELECT * FROM TestTable WHERE name = :2 and number = :1
形式,稍后给出的值与参数绑定的值按照数字顺序由编号提供在列表中参数的,而不是参数的位置。
在OCI 12c中,可以按名称和位置绑定参数(但显然不再按数字绑定),但在OCCI(12c)中,似乎只能通过位置绑定。这显然给我们带来了问题,因为我们只知道值应该绑定的参数的名称/编号。
所以,我的问题是:除了将SQL语句和映射名称解析到位置之外,还有什么方法可以通过OCCI中的名称或数字进行绑定吗?是什么利用OCI以名称绑定的可能性?