在代码上获取ClassNotFoundException:“Class.forName(”com.microsoft.sqlserver.jdbc.SqlServerDriver“);”

这是我的第一个Java应用程序,我对JavaNetBeans完全缺乏经验。

我一直在尝试连接到sql并获取一些记录2天。 问题是关于jdbc驱动程序,让我解释一下。 我已经下载了sqljdbc驱动程序,然后按照以下步骤操作:

右键单击Project-> Select Properties->在左侧单击Libraries-> Compile选项卡 – 单击Add Jar / Folder按钮并选择sqljdbc4.jar文件。 那应该没问题吧?

然后我写了这段代码但我不能摆脱这个例外:

Exception in thread "main" java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SqlServerDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 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:190) at javaapplication1.JavaApplication1.main(JavaApplication1.java:30) 

这是代码

 public static void main(String[] args) throws ClassNotFoundException, SQLException { String url = "jdbc:sqlserver://.\\SQLEXPRESS;databaseName=Northwind; Integrated Security = SSPI "; Connection con = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.microsoft.sqlserver.jdbc.SqlServerDriver"); con = DriverManager.getConnection(url); String sql = "Select Top 3 from * person.Contact"; stmt = con.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); } } 

根据此页面 ,该类称为SQLServerDriver而不是SqlServerDriver 。 案例很重要!

所以,试试:

 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 

请注意,对于较新版本的JDBC,不必使用Class.forName(...)显式加载驱动程序类。 我链接的页面明确说明您不必这样做。 所以,你可以删除整行,然后它应该工作。

Java:NetBeans中与MSSQL的JDBC连接

脚步

  1. 从以下url下载JDBC: https : //www.microsoft.com/en-in/download/details.aspx?id = 11774
  2. 运行sqljdbc__enu.exe – 使用默认目录在%Program Files(x86)%中解压缩此zip文件:Microsoft JDBC DRIVER for SQL Server
  3. 在NetBeans中创建新项目
  4. 右键单击项目 – 选择Properties – 从左侧面板中选择Libraries – 单击Add JAR / Folder按钮 – 选择你的JAR文件并打开 – ok
  5. 打开Sql Server配置管理器 – 在Sql Server网络配置下选择SQLEXPRESS协议 – 右键单击​​TCP / IP – 选择属性 – 将启用更改为是 – 单击IP地址 – 转到IPAll – 将TCP动态端口更改为49169,将TCP端口更改为1433 – 应用 – 确定 – 重新启动计算机
  6. 打开运行并键入Services.msc – 启动SQL Server Browser
  7. 转到项目并编写数据库连接代码。

本地数据库连接代码:

 String url = "jdbc:sqlserver://YOUR PC NAME;instanceName=SQLEXPRESS;DatabaseName=dbname;integratedSecurity=true"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection myCon = DriverManager.getConnection(url); Statement myStmt = myCon.createStatement(); ResultSet myRs = myStmt.executeQuery("select * from table name");