【问题标题】:Exception while executing SQL Query using JDBC使用 JDBC 执行 SQL 查询时出现异常
【发布时间】:2011-06-26 23:14:40
【问题描述】:

在 NetBeans IDE 上使用 jdbc 执行 sql 查询时出现异常。我可以使用 Microsoft SQL Server Management Studio Express 执行相同的查询而不会出现任何错误。

这里是查询:

SELECT tcd.RouterCallKey,adc.AgentSkillTargetID,adc.AgentPeripheralNumber,adc.InstrumentPortNumber,adc.ANI,adc.DateTime,adc.TalkTime 
FROM Termination_Call_Detail tcd 
INNER JOIN 
(
SELECT tcd1.RouterCallKey, AgentSkillTargetID,AgentPeripheralNumber,InstrumentPortNumber,ANI,DateTime,TalkTime
FROM Termination_Call_Detail AS tcd1 WHERE tcd1.AgentSkillTargetID <>'' 
AND tcd1.TalkTime > 0 AND tcd1.TalkTime <=5 AND RouterCallKey <> 0 AND CallDisposition <>28
AND tcd1.DateTime >= '2011-02-03 12:00:00 AM' AND tcd1.DateTime <= '2011-02-03 11:59:59 PM'
) adc 
ON adc.RouterCallKey = tcd.RouterCallKey AND tcd.CallDisposition in (52) 
AND tcd.DateTime >= '2011-02-03 12:00:00 AM' AND tcd.DateTime <= '2011-02-03 11:59:59 PM' 
AND LEN(tcd.ANI ) > 4

这是一个例外:

Incorrect syntax near the keyword 'as'.

【问题讨论】:

  • 我删除了 as 但仍然出现异常。
  • 您确定在Java代码中输入查询时没有损坏查询?
  • 我确定,我将代码从 java 复制到 sql studio,它工作正常。我认为这是一个语法错误,但我无法弄清楚如何修复它。
  • 删除as 后出现什么异常?

标签: java sql exception jdbc


【解决方案1】:

这两个查询之间一定有区别。运行 SQL Server Profiler 以捕获查询或执行 System.out.println 以显示您在 Java 中运行的确切查询。注意像这样缺少空格的东西:

"SELECT * FROM" +
"WHERE problem = 'No space between from and where'";

【讨论】:

  • 我做了一个 System.out.println & 我很惊讶所有的查询都显示在一个异常中的一行中。如何逐行读取sql查询?
  • 谢谢!正如您所提到的,因为行之间没有间距而发生错误。
  • @loo 很高兴你让它工作了。我发现我必须注意自己,否则我最终会经常犯这个错误。
猜你喜欢
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多