2014-10-07 122 views
2

我对Java开发很新,我开始学习如何连接到SQL Server。我读过大量的教程,我目前遇到了一个与我的应用程序有关的问题,目前我面临的错误是:JDBC,连接到SQL服务器

没有找到适用于jdbc的驱动程序:sqlserver://192.168.*.***: 1433;数据库= STC

我想知道的是我到底需要对服务器做些什么才能完成连接?请注意,数据库和服务器不在我的桌面上,但位于不同的位置。所有的帮助表示赞赏。

这是我的代码。

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 


public class SecondTest 
{ 

    public static void main(String[] argv) 
    { 

     System.out.println("-------- MySQL JDBC Connection Testing ------------"); 

     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
     } catch (ClassNotFoundException e) { 

      System.out.println("Where is your MySQL JDBC Driver?"); 
      e.printStackTrace(); 
      return; 
     } 

     System.out.println("MySQL JDBC Driver Registered!"); 
     Connection connection = null; 

     try 
     { 

      String url = "jdbc:sqlserver://192.168.***.***:1433;Database=STC"; 

      String username = "*****"; 
      String password = "******"; 
      connection = DriverManager.getConnection(url, username, password); 

     } 

     catch (SQLException e) 
     { 
      System.out.println("Connection Failed!"); 
      e.printStackTrace(); 
      return; 
     } 

     if (connection != null) 
     { 
      System.out.println("Fully connected."); 
     } 

     else 
     { 
      System.out.println("Failed to make connection!"); 
     } 
    } 
} 
+0

我认为你是对装载SQLServer的一个错误的驱动程序。尝试使用'Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);' – 2014-10-07 12:36:23

回答

2
  1. 它看起来像你试图使用MySQL驱动程序连接到Microsoft SQLServer。您应该确保使用正确的驱动程序(http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx)。该班级是com.microsoft.sqlserver.jdbc.SQLServerDriver。确保驱动程序位于类路径中。

  2. 要启用到数据库的远程连接,必须在SQLServer上启用TCP连接(通常在端口1433上)。看看这个:http://www.scrumdesk.com/Articles/HowToEnableSQLServerRemoteConnections.html

+0

嗨,感谢您的回复!这解决了我遇到的问题:)非常感谢! – user2946061 2014-10-07 13:58:51

+0

不客气。 – 2014-10-07 15:01:43

0

您正在使用MySQL驱动程序:

Class.forName("com.mysql.jdbc.Driver"); 

这JDBC URL尝试连接到被指向到Microsoft SQL Server数据库:

String url = "jdbc:sqlserver://192.168.3.223:1433;Database=STC"; 

下载合适的驱动程序要连接到的SQL服务器数据库的版本并加载该数据库而不是MySQL驱动程序:

http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

加载该驱动程序而不是com.mysql.jdbc.Driver

+0

嗨,谢谢你的回应。你的解决方案和西蒙一样。感谢您的回答,我真的很感激它:) – user2946061 2014-10-07 14:00:07

0

似乎你正在为SQLServer加载一个错误的驱动程序。与Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

尝试在你需要MySQL的情况下,连接的URL看起来像jdbc:mysql://..