当前位置: 首页 > 知识库问答 >
问题:

SQL使用dist时找不到合适的驱动程序

孟浩然
2023-03-14

我正在开发一个软件连接到微软SQL数据库

到目前为止,在NetBeans中它工作得很好,但是当尝试在NetBeans创建的dist文件夹中使用jar版本时,我遇到了“找不到合适的驱动程序”错误

这真的很令人费解,因为我已经尝试了我能在网上找到的关于错误的一切,比如:

  • 干净

还有我能找到的任何东西。

我正在使用最新稳定的JRE、JDK和Netbean以及微软的JDBC 4.0。

我不知道我需要为人们提供什么代码来帮助,所以请告诉我,我会提供你需要的任何信息。

编辑:

我用来连接的URL是:“jdbc:sqlserver://Room-PC\\sqlexpress“这在从NetBeans运行时有效,但在dist文件夹中运行jar文件时无效。

第二次编辑:

这是用于加载和第一次连接到数据库的代码。它在一个名为数据库处理程序的单独类中。这将导入java.sql.*;这个连接代码从类的构造函数中调用。

正如我所说,当从netbeans IDE使用它时,它可以完美地工作,但双击jar文件或从命令行使用它是不行的。

username = "adam";
password = "*****"

try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = DriverManager.getConnection(
                                 "jdbc:sqlserver://Room-PC\\sqlexpress", username, password);

        } catch (SQLException e) {
            System.out.println("Error " + e + "\n");
        } catch (ClassNotFoundException cnfe) {
            System.out.println("OOPS CLASS NOT FOUND");
        }

我的Windows类路径变量是:

“;C:\JDBC\sqljdbc_3.0\enu\sqljdbc4.jar”(不带引号)

我试着用Luiggi发布的命令运行程序,但没有改变任何事情

所以基本上我只是运行使用java-jar myJar.jar(没有-jar它没有找到主类)

感谢大家迄今为止的帮助,我为这件事绞尽脑汁!

共有2个答案

柴英博
2023-03-14

@Luiggi Mendoza谢谢你的回答。奏效了!

我只需要在清单文件的类路径标题中添加“/lib.sqljdbc4.jar”

所以:

Class-Path: resources/ lib/sqljdbc4.jar

这就是我所需要的。

吴刚毅
2023-03-14

必须为编译和执行时间设置类路径。目前,您只在编译时执行,而不是在运行时执行。

在运行时的类路径中设置库取决于项目的类型:

>

  • 独立应用程序:需要在-classpath属性中设置外部库。在命令行中,这将是:

    $ java -classpath "./lib/*;." yourJar.jar
    

    其中,lib是一个文件夹,您的所有外部库都放在这个文件夹中,yourJar。jar是文件夹根目录中的Java独立应用程序。这有点像这样:

    - some_folder
      + yourJar.jar
      - lib
        + thirdPartyLib1.jar
        + thirdPartyLib2.jar
        + (and on...)
    

    请注意,Netbean将只在dist文件夹中创建和编写your Jar.jar。它不包括任何第三方库。

    Web应用程序:将所有第三方库放入Web-INF/lib文件夹。

  •  类似资料:
    • 问题内容: 我希望有一个人可以帮助我。我正在研究一个与SQLite数据库连接的简单应用程序。以下是我的连接代码: 这只是一个在数据库中加载用户名和密码的窗口。我的问题是,当我单击按钮时,出现以下异常: (我找到了一个有关如何使用Java连接到SQLite数据库的示例,我发现该示例运行良好) 这个程序我正在窗口构建器(日食)中做。我使用的示例中使用的驱动程序相同。我不知道我是否必须使用其他驱动程序。

    • 问题内容: 这个问题已经在这里有了答案 : 臭名昭著的java.sql.SQLException:未找到合适的驱动程序 (13个答案) 4年前关闭。 我有一个Java类,该类通过在Tomcat上运行的JSP中使用的JDBC通过JDBC访问MySQL数据库,并且遇到“未找到驱动程序异常”的问题。 我有一个方法: 这会在“ 这是我从catalina.out的打印输出”上引发错误: 唯一重要的错误是一个

    • 我正在开发一个android应用程序,它从SQL Server导入lat/long以在地图中显示为标记。我已经输入了jtds-1.21。jar到lib的路径,但我得到了错误 这是我的代码图。Java语言

    • 我总是在数据库中发现“没有合适的驱动程序”,我无法确定connect类出了什么问题?有人帮忙吗?我已经把5个罐子都装进去了。我想连接到Microsoft Access数据库。

    • 连接到sqlite数据库时遇到问题。在我的Windows PC上,一切正常,但如果我想在Linux(Raspberry PI)上运行我的程序,我会得到错误,如标题所示。 这是我在Windows上的连接: 在为Linux导出程序之前,我更改了连接字符串: 如果没有数据库,我使用以下代码创建它: 这是我的构建路径 这是我的项目 谁能帮帮我吗?THX

    • 我已经回顾了Stack Overflow上关于“找不到适合jdbc的驱动程序”的许多其他帖子。但是,其他帖子中的解决方案似乎是围绕使用“DriverManager”,将数据库连接器JAR放置在Eclipse中的“JavaBuild Path”中,如下所示: 我采取了不同的方法。我在Eclipse中IBMLiberty应用程序服务器运行时。根据IBM留档,我将JAR放在Liberty上,并使用“jd