我想使用netbean 6.5,glassfish V 2制作Restful - Web Service,我已经制作了表和表之间的关系。但是,当我想测试restful Webservice时,它会显示一些表
HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'E' in 'field list'
Error Code: 1054
Call: SELECT Id, MobileNumber, Country, First_Name, E-mail, Address, Identity, Zip, Last_name, City, State, Position FROM employee_table WHERE (Id = ?)
bind => [1]
Query: ReadObjectQuery(ws.EmployeeTable)
note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server 9.1_02 logs.
但有些表正在运作。有人知道导致这个问题的原因以及如何处理这个问题? THX。
感谢Andrew Medico和Jim Ferrans
我将所有电子邮件都更改为电子邮件。我不会忘记不再在DB中添加“ - ”。 THX
答案 0 :(得分:1)
您在SQL查询(“电子邮件”)中有一个非法标识符。安德鲁建议引用它是正确的解决方案,如果这是实际的列名称。您可能在查询中拼写错误。
答案 1 :(得分:1)
您需要引用“电子邮件”列名称,以便SQL解析器接受它。不带引号/转义的短划线是SQL中的减法运算符,因此“电子邮件”不加引号意味着您要求SQL服务器减去名为“E”和“mail”的列的结果。
正确的SQL将是:
SELECT Id, MobileNumber, Country, First_Name, `E-mail`, Address, Identity, Zip, Last_name, City, State, Position FROM employee_table WHERE (Id = ?)