Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ORA-00911:从数据库检索数据时使用无效字符_Java_Oracle_Jsp - Fatal编程技术网

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>