从 java 8 连接到 Microsoft sql 2008 r2
Connecting to microsoft sql 2008 r2 from java 8
我正在学习java,我们的老师(使用jdk 7,netbeans)向我们展示了连接到Microsoft SQL Server 2008的方法。现在我也在做同样的事情,但我有一个错误:
java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver
我连续搜索了 4 个小时,终于找到了问题所在:我正在使用 jdk8,现在人们说 jdk8 删除了 JDBC 驱动程序和你必须从这个网站下载它:
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
我做了这个,但我不知道如何运行。怎么办,我是一片空白。谁能告诉我如何连接到数据库。
即使这已经完美完成,这里也没有问题:
用于测试连接的简单代码:
package sqlexamples;
import java.sql.*;
public class Example {
public static void main(String[] args) {
try{
Class.forName("jdbc.odbc.JdbcOdbcDriver");
System.out.println("Driver Successfully Loaded!");
Connection connect = DriverManager.getConnection("jdbc:odbc:library;user=maisam;password=db123");
System.out.println("Connected to Database!");
PreparedStatement state = connect.prepareStatement("Select * from mytable");
System.out.println("Query Executed Successfully!");
connect.close();
System.out.println("Database Closed!");
}
catch(ClassNotFoundException ex){
System.out.println("Error: Driver Class not found.");
ex.printStackTrace();
}
catch(SQLException sqlex){
System.out.println("Error: SQL Error");
sqlex.printStackTrace();
}
}
}
Error: Driver Class not found. java.lang.ClassNotFoundException:
jdbc.odbc.JdbcOdbcDriver at
java.net.URLClassLoader.run(URLClassLoader.java:372) at
java.net.URLClassLoader.run(URLClassLoader.java:361) at
java.security.AccessController.doPrivileged(Native Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:360) at
java.lang.ClassLoader.loadClass(ClassLoader.java:424) at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at
java.lang.ClassLoader.loadClass(ClassLoader.java:357) at
java.lang.Class.forName0(Native Method) at
java.lang.Class.forName(Class.java:260) at
sqlexamples.Example.main(Example.java:11)
BUILD SUCCESSFUL (total time: 0 seconds)
编辑: 我只是想切换回 JDK7,直到我的 [图书馆系统管理] 项目完成。
people are saying that jdk8 removed jdbc driver
事实并非如此。 JDBC-ODBC 桥已从 Java 8 中删除。因此您不能使用 ODBC 驱动程序从 Java 8 连接到 SQL 服务器。相反,您需要使用像这样的 JDBC 驱动程序:
Microsoft JDBC Driver for SQL Server
(您问题中的下载 link 也是针对 SQL 服务器的 Microsoft JDBC 驱动程序。您的问题是您所遵循的说明是针对 ODBC 的,而不是 JDBC。请改用 JDBC 驱动程序的说明。)
我正在学习java,我们的老师(使用jdk 7,netbeans)向我们展示了连接到Microsoft SQL Server 2008的方法。现在我也在做同样的事情,但我有一个错误:
java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver
我连续搜索了 4 个小时,终于找到了问题所在:我正在使用 jdk8,现在人们说 jdk8 删除了 JDBC 驱动程序和你必须从这个网站下载它:
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
我做了这个,但我不知道如何运行。怎么办,我是一片空白。谁能告诉我如何连接到数据库。
即使这已经完美完成,这里也没有问题:
用于测试连接的简单代码:
package sqlexamples;
import java.sql.*;
public class Example {
public static void main(String[] args) {
try{
Class.forName("jdbc.odbc.JdbcOdbcDriver");
System.out.println("Driver Successfully Loaded!");
Connection connect = DriverManager.getConnection("jdbc:odbc:library;user=maisam;password=db123");
System.out.println("Connected to Database!");
PreparedStatement state = connect.prepareStatement("Select * from mytable");
System.out.println("Query Executed Successfully!");
connect.close();
System.out.println("Database Closed!");
}
catch(ClassNotFoundException ex){
System.out.println("Error: Driver Class not found.");
ex.printStackTrace();
}
catch(SQLException sqlex){
System.out.println("Error: SQL Error");
sqlex.printStackTrace();
}
}
}
Error: Driver Class not found. java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver at java.net.URLClassLoader.run(URLClassLoader.java:372) at java.net.URLClassLoader.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:260) at sqlexamples.Example.main(Example.java:11) BUILD SUCCESSFUL (total time: 0 seconds)
编辑: 我只是想切换回 JDK7,直到我的 [图书馆系统管理] 项目完成。
people are saying that jdk8 removed jdbc driver
事实并非如此。 JDBC-ODBC 桥已从 Java 8 中删除。因此您不能使用 ODBC 驱动程序从 Java 8 连接到 SQL 服务器。相反,您需要使用像这样的 JDBC 驱动程序:
Microsoft JDBC Driver for SQL Server
(您问题中的下载 link 也是针对 SQL 服务器的 Microsoft JDBC 驱动程序。您的问题是您所遵循的说明是针对 ODBC 的,而不是 JDBC。请改用 JDBC 驱动程序的说明。)