0

Migrated from Server 2003 to Server 2008 R2. Classic ASP app started reporting the 'Multiple-step OLE DB operation generated errors' message. 32-bit DSN is setup correctly and has been tested. The app pool for this particular app is set to 32-bit. In fact, the ASP app connects to the same DSN when the user logs in on the web.

There is a section however that calls a Oracle stored procedure using ADODB.Command, CommandType adCmdText, with a handful of parameters (sent from a form).

It's some like:

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

Does anyone have any ideas? My first thought is that there is some change to the CreateParameter datatypes in Server 2008...

4

1 回答 1

1

我终于解决了这个问题。该解决方案在该线程的最后一篇文章中找到:https ://forums.oracle.com/thread/80441

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

对于那些不想冒险访问 Oracle 论坛的人。第一种方法是这样完成的:

Set Parameter = Command.CreateParameter("inRequestType", adNumeric, adParamInput, <length>, <value>)
Parameter.Precision = 10
Parameter.NumericScale = 0
Parameters.Append Parameter

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

于 2013-07-31T00:55:43.013 回答