2014-05-16 53 views
0

我试图连接我与SQL Server 2012的Java应用程序,但给我这个错误:异常在线程 “AWT-EventQueue的-0” java.lang.ClassCastException

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) 

jTLoginConsulta进口:

import com.mysql.jdbc.Connection; 
import com.mysql.jdbc.PreparedStatement; 
import java.awt.*; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import javax.swing.*; 
import org.openide.util.Exceptions; 
import sensores.basedados.CriaConexao; 
import sensores.forms.jTMainMenu; 
import com.mysql.jdbc.PreparedStatement; 
import java.awt.Color; 
import java.awt.Toolkit; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import javax.swing.JOptionPane; 
import java.awt.*; 
import java.sql.*; 
import java.awt.event.WindowEvent; 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.StringTokenizer; 
import java.util.TimerTask; 
import javax.swing.*; 
import sensores.basedados.CriaConexao; 
import sensores.logica.Logins; 
import java.util.Timer; 
import java.util.TimerTask; 
import java.util.*; 
import java.util.List; 
import sensores.logica.Alarmes; 
import javax.mail.*; 
import javax.mail.internet.*; 
import javax.activation.*; 
import javax.mail.Address; 
import javax.mail.Message.RecipientType; 

71号线发生错误:

68 public jTLoginConsulta() throws SQLException { 
69   initComponents(); 
70  setIcon(); 
71  conexao=(Connection) CriaConexao.getConexao(); 
72  
73  } 
+2

看起来像你有错误的连接导入。 – gtgaxiola

+1

看起来你错过了正确的数据库驱动程序。请向我们展示你的类路径。 – Ray

+1

我想你是用mysql-driver.jar代替Microsoft SQL server驱动jar文件 – Keerthivasan

回答

2

检查导入此Connection对象

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并删除演员。

希望它有帮助。

+0

感谢您的回复,我编辑我的问题,它有帮助吗? – user3320956

+0

Sanjeev几乎可以肯定是对的,但Sanjeev警告你的问题不在你的代码中。检查'jTLoginConsulta.java',那里你一定会发现导致你的问题的不必要的'import' –

+0

你在上面的问题中提供了错误的类代码。你的异常是'线程中的异常'AWT-EventQueue-0'java.lang.ClassCastException:com.microsoft.sqlserver.jdbc.SQLServerConnection不能转换为com.mysql.jdbc.Connection at sensores.forms.jTLoginConsulta。 (jTLoginConsulta.java:71)'发生在jTLoginConsulta类行:71。请发布,以及 – Sanjeev

相关问题