在其他电脑上 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.jar
或 java -cp "D:\mysql-connector-java-5.1.23-bin.jar;D\:TCfinder.jar" TCfinder
。以上是关于在其他电脑上 java.sql.SQLException:没有找到适合 jdbc:sqlserver 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
问题Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常