Oracle Server 2003到Server 2008-多步骤OLE DB操作错误

Oracle Server 2003到Server 2008-多步骤OLE DB操作错误,oracle,asp-classic,iis-7.5,windows-server-2008,Oracle,Asp Classic,Iis 7.5,Windows Server 2008,已从Server 2003迁移到Server 2008 R2。经典ASP应用程序开始报告“多步骤OLE DB操作生成错误”消息。32位DSN已正确设置并经过测试。此特定应用程序的应用程序池设置为32位。事实上,当用户登录web时,ASP应用程序连接到同一DSN 但是,有一节使用ADODB.Command,CommandType adCmdText,以及少量参数(从表单发送)调用Oracle存储过程 有点像: { Call this.SPROC(?, ?, ?, ?, ?, ?, ?, ?, ?,

已从Server 2003迁移到Server 2008 R2。经典ASP应用程序开始报告“多步骤OLE DB操作生成错误”消息。32位DSN已正确设置并经过测试。此特定应用程序的应用程序池设置为32位。事实上,当用户登录web时,ASP应用程序连接到同一DSN

但是,有一节使用
ADODB.Command
CommandType adCmdText
,以及少量参数(从表单发送)调用Oracle存储过程

有点像:

{ Call this.SPROC(?, ?, ?, ?, ?, ?, ?, ?, ?, null, null, null, ?, ?, ?, ?, ?, ?, ?) }

有人有什么想法吗?我的第一个想法是,Server2008中的
CreateParameter
数据类型有一些更改…

我终于解决了这个问题。在该线程的最后一篇文章中找到了解决方案:

如果我使用ODBC,设置所有数值参数的精度和比例似乎可以解决问题,但是,对于OLE DB,这并不能解决问题。将所有数值参数从adNumeric更改为adDouble确实解决了此问题

对于那些不想去Oracle论坛的人。第一种方法是这样做的:

Set Parameter = Command.CreateParameter("inRequestType", adNumeric, adParamInput, <length>, <value>)
Parameter.Precision = 10
Parameter.NumericScale = 0
Parameters.Append Parameter
Set Parameter=Command.CreateParameter(“inRequestType”、adNumeric、adParamInput、)
参数精度=10
Parameter.NumericScale=0
参数。追加参数

这样做并不能解决我的问题,我不得不将adNumeric更改为adDouble(131到5)。

您是否需要答案或尝试纠正错误?例如,来自的一些检查和操作?是的,我已经尝试过了。