【问题标题】:On other pc java.sql.SQLException: No suitable driver found for jdbc:sqlserver在其他电脑上 java.sql.SQLException:没有找到适合 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 搜索。至少我们都知道你付出了一些努力。 stackoverflow.com/questions/17484764/…stackoverflow.com/questions/18158864/… 可能重复
  • 你需要在classpath中使用driver.jar。如果您通过命令行运行,请使用 >java Main -classpath "driver.jar"
  • 为什么要在连接 SQL Server 时加载 MySQL 驱动程序?
  • 不使用mysql驱动可以连接sql server吗?

标签: java sql jdbc driver


【解决方案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
猜你喜欢
  • 2012-08-28
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
相关资源
最近更新 更多