asp oracle数据库开发 adodb,在Classic ASP中从ADODB调用参数化Oracle查询

我目前正在开发一个与Oracle数据库交谈的经典ASP项目.我正试图找到一种方法来安全地调用Oracle PL / SQL脚本并使用ADO传递参数.当前的解决方案使用嵌入式变量手动构建SQL脚本,如下所示:

strSQL = "SELECT field1, etc FROM my_table WHERE (field = '" & filter_value & "')"

当然,这是丑陋和不安全的,并且容易被滥用.

到目前为止我所拥有的代码(来自各种非经典的基于asp的网站)看起来像这样:

dim strSQL, oConn, oCommand, oParam

set oConn = server.createobject("ADODB.Connection")

oConn.Open myConnString

strSQL = "SELECT field1, etc FROM my_table WHERE (field = :filter_field)"

dim oFilteredList

set oFilteredList = Server.CreateObject("ADODB.Command")

oFilteredList.ActiveConnection = oConn

oFilteredList.CommandText = strSQL

oFilteredList.CommandType = adCmdText

oFilteredList.NamedParameters = True

set oParam = oFilteredList.CreateParameter("filter_field", adVarChar, adParamInput, 10, filter_value)

oFilteredList.Parameters.Append oParam

set rsResults = oFilteredList.Execute

这会导致错误“参数对象未正确定义.提供的信息不一致或不完整“

使用ADO中的命名参数调用Oracle / PL / SQL的正确方法是什么?我需要使用命名参数,因为实际的SQL代码有点复杂,并且在整个SQL命令中多次使用不同的参数.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值