【发布时间】:2016-07-08 03:33:58
【问题描述】:
我会尽力解释这一点。
我有 varchar2 列的物化视图。
这是代码示例:
SELECT field1 * 1000
FROM my_mv
WHERE id = 15
当我从 TOAD 执行此操作时,它工作得很好(我只在数字 ofc 上执行此操作)。但是当我尝试从 ASP 做同样的事情时
sql = "SELECT field1 * 1000 FROM my_mv WHERE id = 15"
set rs = conntemp.Execute(sql)
我收到一个错误
[Microsoft][Oracle ODBC 驱动程序][Oracle]ORA-01722: 无效编号
尝试在专栏上做to_number,但还是一样
也许我不够清楚。这不是 Oracle 错误(Oracle 可以毫无问题地执行此查询,因为列值可以转换为数字)。问题是当从经典 ASP 调用它时,会引发错误。
如前所述,我也尝试过这样做
SELECT to_number(field1) * 1000
但我仍然得到相同的结果
【问题讨论】:
-
错误来自 Oracle
ODBC driver for Oracle。错误ORA-01722。 -
说这是一个经典的 ASP 错误是无稽之谈,我保证使用任何其他语言的提供程序都会得到相同的结果。
-
对不起,我不熟悉 ASP(.NET?),但这在 vb.net 中可以重现吗?
-
这可能是一个过于简单的例子的产物,但你不能在 VBScript 中进行乘以 1000,在你已经完成了过滤以确保你的结果总是数字的?
标签: oracle plsql asp-classic