【发布时间】:2013-07-17 10:38:08
【问题描述】:
我想通过 ms 访问执行 oracle 函数: 这个查询很完美:
Select * from table(rpt_0257_ArtEtk_fn('1','1'));
这个也是:
Select * from table(rpt_0257_ArtEtk_fn('Forms!Form1!Text12', '1'));
但是这个
Select * from table(rpt_0257_ArtEtk_fn('Forms!Form1!Text12', 'Forms!Form1!Text12'));
还有这个:
Select * from table(rpt_0257_ArtEtk_fn('1', 'Forms!Form1!Text12'));
结果为“ORA-01722:无效号码”
我不明白问题出在哪里。
【问题讨论】:
-
能否提供rpt_0257_ArtEtk_fn的代码?我假设 'Forms!Form1!Text12' 作为文本值而不是数字传递。
-
不,我无权访问此函数的源代码。
-
rpt_0257_ArtEtk_fn的第二个参数是如何声明的?我猜它是NUMBER,但在失败的调用中,您传递的字符串无法转换为NUMBER。 -
是的,你是莱特,第一个参数是字符串,第二个是数字。
-
我假设这是一个 [PASS THROUGH] 查询。对吗?