【发布时间】: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)
【问题讨论】:
-
应用程序很少使用类路径环境变量。您需要将 一个 并且只有一个 SQL Server jar(最好是
sqljdbc41.jar)添加到应用程序的构建路径(如果从 Eclipse 运行),或者在独立运行时添加到运行时类路径
标签: java sql-server database eclipse jdbc