使用 Eclipse 在 JAVA 中连接 SQL Server,错误:ClassNotFoundException
Posted
技术标签:
【中文标题】使用 Eclipse 在 JAVA 中连接 SQL Server,错误:ClassNotFoundException【英文标题】:Connecting SQL Server in JAVA using Eclipse, Error: ClassNotFoundException 【发布时间】:2015-01-16 02:46:16 【问题描述】:目标是使用 Java 连接到 MS SQL Server 数据库并执行一些 SQL 语句。
查找类时出现问题,错误:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
尝试了两个类名 com.microsoft.jdbc.sqlserver.SQLServerDriver
和 com.microsoft.sqlserver.jdbc.SQLServerDriver
类路径也在 Eclipse 中设置为:
CLASSPATH C:/Program Files/Microsoft JDBC Driver 4.1 for SQL Server/sqljdbc_4.1/enu/sqljdbc.jar
还将win7环境变量更改为:
.;C:\Program Files\Microsoft JDBC Driver 4.1 for SQL Server\sqljdbc_4.1\enu\sqljdbc.jar;C:\Program Files\Microsoft JDBC Driver 4.1 for SQL Server\sqljdbc_4.1\enu\sqljdbc4.jar;C:\Program Files\Microsoft JDBC Driver 4.1 for SQL Server\sqljdbc_4.1\enu\sqljdbc41.jar;
使用此代码:
package edu.umt.oop.lecture7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class databasepro
public static void main(String[] args)
Connection connection = null;
try
// the sql server driver string
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// the sql server url
String url = "jdbc:microsoft:sqlserver://C-LHE-CS-68541:1433;DatabaseName=CMSA_Console";
// get the sql server database connection
connection = DriverManager.getConnection(url,"sa", "123456");
System.out.println("\nSuccess");
// now do whatever you want to do with the connection
// ...
catch (ClassNotFoundException e)
e.printStackTrace();
System.exit(1);
catch (SQLException e)
e.printStackTrace();
System.exit(2);
抛出的完全错误是:
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at edu.umt.oop.lecture7.databasepro.main(databasepro.java:15)
【问题讨论】:
***.com/questions/22253551/…的可能重复 应用程序很少使用类路径环境变量。您需要将 一个 并且只有一个 SQL Server jar(最好是sqljdbc41.jar
)添加到应用程序的构建路径(如果从 Eclipse 运行),或者在独立运行时添加到运行时类路径
【参考方案1】:
这是由于jar
文件造成的。因此,从下面的链接下载jar
文件,并将其下载到 IDE 中的项目库中,例如日食。
Download Jar
【讨论】:
以上是关于使用 Eclipse 在 JAVA 中连接 SQL Server,错误:ClassNotFoundException的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse Java Neon 通过JDBC连接SQL Server2008
Eclipse IDE for Java Developers(4.10.0)建立与SQL Server 2008数据库的连接
使用 Java 连接 SQL Server 2005 Express