Java ORA-00911:从数据库检索数据时使用无效字符
无法确定引发异常的无效字符的位置 以下是查询字符串:Java ORA-00911:从数据库检索数据时使用无效字符,java,oracle,jsp,Java,Oracle,Jsp,无法确定引发异常的无效字符的位置 以下是查询字符串: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: SELECT * from Employees; : ORA-00911: invalid character root cause javax.servlet.ServletException: javax.servlet.jsp.JspE
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException:
SELECT * from Employees;
: ORA-00911: invalid character
root cause
javax.servlet.ServletException: javax.servlet.jsp.JspException:
SELECT * from Employees;
: ORA-00911: invalid character
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:864)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:797)
org.apache.jsp.select_jsp._jspService(select_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
从员工中选择*;
分号是语句分隔符。当您通过JDBC(或OCI等)执行语句时,不应该包含它,这是在后台发生的事情
因此,您当前执行此操作的位置:
<sql:setDataSource var="orcl" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.6.132:1521:orcl"
user="jsp" password="jsp"/>
<sql:query dataSource="${orcl}" var="result">
SELECT * from Employees;
</sql:query>
从员工中选择*;
将其更改为:
<sql:query dataSource="${orcl}" var="result">
SELECT * from Employees;
</sql:query>
从员工中选择*
向我们显示您进行查询的代码。更新了问题您是否尝试从jsp页面连接到db?@Nomad Yes尝试从jspand连接。当我删除分号时,从db检索的数据为空,当我在表中有数据时,您确定您在jsp用户可以看到的表中提交了数据吗?如果您通过另一个客户端连接到一个新会话并运行该查询,那么您是否可以恢复数据?您还可以尝试另一个查询作为测试,例如select*from dual
,以确保显示返回的内容。您是对的。我没有提交数据。谢谢亚历克斯
<sql:query dataSource="${orcl}" var="result">
SELECT * from Employees
</sql:query>