我有一个连接到Oracle数据库的网站。当我执行以下SQL时,我得到一个返回的结果:
select distinct name from CONTACTS
where upper(EMAIL) like upper(:info)
AND HASACCESS(NAME, :userid) = 'Y'
order by NAME desc
我已将相同的代码迁移到新服务器。当这段代码运行时,我现在得到错误:
ORA-00911: invalid character\n
我最终没有;
,大多数人在收到此错误时会得到。
进行一些试验和错误,它正在破坏对Stored Producer / Function调用的调用。两个代码位引用的数据库是相同的。
这与绑定变量无关,因为如果我对它们进行硬编码,那么我仍然会收到错误。
我真的很困惑这个。
答案 0 :(得分:1)
我找到了这个问题。可以在这里看到
select distinct name from CONTACTS
where upper(EMAIL) like upper(:info)
AND HASACCESS(NAME, :userid) = 'Y'
order by NAME desc
调用该函数时,它使用了错误的括号。它正在使用(
,它应该是(
。
PLSQL可以正常运行。
更改括号代码现在可以正常工作。
必须与Oracle驱动程序支持有所不同。或者别的东西环保。希望有一天这可能会帮助别人......