“线程中的异常”;AWT-EventQueue-0“;java.lang.ClassCastException
我正在尝试将java应用程序与sql server 2012连接,但出现以下错误:“线程中的异常”;AWT-EventQueue-0“;java.lang.ClassCastException,java,sql-server,jdbc,Java,Sql Server,Jdbc,我正在尝试将java应用程序与sql server 2012连接,但出现以下错误: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerConnection cannot be cast to com.mysql.jdbc.Connection 有人能帮我吗 多谢各位 连接代码: import java.sql.Connectio
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerConnection cannot be cast to com.mysql.jdbc.Connection
有人能帮我吗
多谢各位
连接代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class CriaConexao {
public static Connection getConexao()throws SQLException{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String dbURL = "jdbc:sqlserver://BRGDB:1433;database=DB_SQL;IntegratedSecurity=true";
Connection conexao = DriverManager.getConnection(dbURL);
return conexao;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}
错误:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerConnection cannot be cast to com.mysql.jdbc.Connection
at sensores.forms.jTLoginConsulta.<init>(jTLoginConsulta.java:71)
at sensores.forms.jTLoginConsulta$4.run(jTLoginConsulta.java:448)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
发生错误的第71行:
68 public jTLoginConsulta() throws SQLException {
69 initComponents();
70 setIcon();
71 conexao=(Connection) CriaConexao.getConexao();
72
73 }
检查此连接对象的导入
Connection conexao = DriverManager.getConnection(dbURL);
它应该是java.sql.Connection
。您似乎错误地导入了它com.mysql.jdbc.Connection
编辑
根据编辑的问题:
conexao=(Connection) CriaConexao.getConexao();
CriaConexo正在返回com.microsoft.sqlserver.jdbc.SQLServerConnection
,而您将其错误地强制转换为com.mysql.jdbc.Connection
。只需将导入更正为java.sql.Connection
,并删除强制转换
希望有帮助。似乎您的连接导入错误。似乎您缺少正确的DB驱动程序。请告诉我们您的类路径。我想您使用的是mysql-driver.jar而不是Microsoft SQL server驱动程序jar文件谢谢大家的回复,我编辑了我的问题,有帮助吗?谢谢大家。这些都很有用。谢谢@gtgaxiolaIt几乎可以肯定Sanjeev是正确的,但是Sanjeev警告您的问题不在您的代码中。检查
jTLoginConsulta.java
,在那里您肯定会发现不必要的import
导致了您的问题您在上述问题中提供了错误的类代码。您的异常是线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:com.microsoft.sqlserver.jdbc.SQLServerConnection无法在sensores.forms.jTLoginConsulta处转换为com.mysql.jdbc.Connection。(jtlogincsulta.java:71)
发生在jTLoginConsulta类行:71中。请把它也贴在这里。。请参见顶部的“导入”。这就是问题的原因,按照答案中提到的改变它,你应该会很高兴我用我认为重要的所有数据编辑了我的问题。希望这有帮助。@user3320956请看我最后的评论
conexao=(Connection) CriaConexao.getConexao();