在其他电脑上 java.sql.SQLException:没有找到适合 jdbc:sqlserver 的驱动程序

Posted

技术标签:

【中文标题】在其他电脑上 java.sql.SQLException:没有找到适合 jdbc:sqlserver 的驱动程序【英文标题】:On other pc java.sql.SQLException: No suitable driver found for jdbc:sqlserver 【发布时间】:2014-04-17 09:14:11 【问题描述】:

我写了一个应用程序,它对我来说很好用。但在其他 pc-s 上它会引发异常。

java.sql.SQLException: 找不到适合 jdbc:sqlserver 的驱动程序

我把它(只有 app.jar 文件)给了我的大学,他得到了这个错误。我给了他一个 jdbcdriver.jar 文件,没有任何改变。 不过我用的是jre7,我在代码中加了一行:

    Class.forName("com.mysql.jdbc.Driver");

然后他得到另一个例外:

错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我该怎么做才能在其他电脑上正常运行这个应用程序?

【问题讨论】:

您有时需要在发布查询之前使用 Google 搜索。至少我们都知道你付出了一些努力。 ***.com/questions/17484764/… 和 ***.com/questions/18158864/… 可能重复 你需要在classpath中使用driver.jar。如果您通过命令行运行,请使用 >java Main -classpath "driver.jar" 为什么要在连接 SQL Server 时加载 MySQL 驱动程序? 不使用mysql驱动可以连接sql server吗? 【参考方案1】:

启动应用程序时,将包含MySql Driver 的jar 文件放在classpath 上。

开关被称为-cp-classpath,如下所示:

java -cp ".;mysql.jar" my.package.Main

假设您从名为my.package.Main 的根目录启动应用程序。类路径分隔符是Windows 的分隔符。对于基于 unix 的操作系统,我猜你需要使用 :

【讨论】:

我应该放什么而不是 my.package.Main 例如:我的应用程序路径是:D:\app.jar 这还不够:java -cp D:\mysql-connector-java- 5.1.23-bin.jar d:TCfinder.jar 包含public static void main(String[] args) 方法的类的完全限定名是什么?请改用该完全限定名称。 TCfinder 是我的主要课程 我设置了“java -cp D:\mysql-connector-java-5.1.23-bin.jar TCfinder -jar D\:TCfinder.jar”,我仍然得到错误:找不到或加载主类 TCfinder 您可以尝试:java -cp "D:\mysql-connector-java-5.1.23-bin.jar" -jar D\:TCfinder.jarjava -cp "D:\mysql-connector-java-5.1.23-bin.jar;D\:TCfinder.jar" TCfinder

以上是关于在其他电脑上 java.sql.SQLException:没有找到适合 jdbc:sqlserver 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

sql关联查询使用别名报错

问题Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK

为啥我会收到 ORA-06531:对未初始化集合的引用?

SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常

“无法加载文件或程序集”错误。可以在我的电脑上运行,但不能在其他电脑上运行

为啥我的exe文件没有在其他电脑上运行? [调试]