首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中连接到数据库时出现异常:JDBC

问在Java中连接到数据库时出现异常:JDBC
EN

Stack Overflow用户
提问于 2013-01-07 17:35:59
回答 4查看 727关注 0票数 1

我正在尝试使用JDBC从一个表中获取所有列值。

这是我在我的主程序中写的代码。

代码语言:javascript
复制
 Class.forName( "com.mysql.jdbc.driver" );
 String url = "jdbc:jtds:sqlserver://test.com/abc_1_20121225;instance=abcd";
 Connection conn = DriverManager.getConnection(url,"uname","pwd");
 Statement stmt = conn.createStatement();
 ResultSet rs;

  rs = stmt.executeQuery("SELECT table_name, column_name, data_type, data_length FROM USER_TAB_COLUMNS WHERE table_name = 'MyTable'");
    while ( rs.next() ) {
         String colName = rs.getString("column_name");
                     System.out.println(colName);
      }
  conn.close();
 } catch (Exception e) {
   System.err.println("Got an exception! ");
 System.err.println(e.getMessage());

我已经在我的类路径中添加了jtds.jar。我收到了这条消息

代码语言:javascript
复制
Got an exception! 
com.mysql.jdbc.driver

有人能告诉我这个问题的确切原因吗?

编辑:

添加堆栈跟踪;

代码语言:javascript
复制
java.lang.ClassNotFoundException: com.mysql.jdbc.driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at schwab.TestDB.main(TestDB.java:15)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-07 17:41:27

您加载了错误的驱动程序。

替换为:

代码语言:javascript
复制
Class.forName("com.mysql.jdbc.driver");

使用

代码语言:javascript
复制
Class.forName("net.sourceforge.jtds.jdbc.Driver");
票数 3
EN

Stack Overflow用户

发布于 2013-01-07 17:41:07

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

-->如果您使用的是mysql驱动,则是驱动类,而不是驱动。

String url = "jdbc:jtds:sqlserver://test.com/abc_1_20121225;instance=abcd";

->您的url将指向SQL Server数据库。

确保您使用的是哪个数据库。如果您使用的是MySQL,请使用MySQL连接器jar和驱动程序类com.mysql.jdbc.Driver。

如果您使用的是MS Sql server,请使用驱动程序类:用于jTDS Driver的net.sourceforge.jtds.jdbc.Driver或用于Microsoft SQL Server2005JDBC Driver的com.microsoft.sqlserver.jdbc.SQLServerDriver

票数 3
EN

Stack Overflow用户

发布于 2013-01-07 17:39:42

我的猜测是类路径中没有MysQL驱动程序。但是,如果您提供完整的堆栈跟踪,您应该能够确认这一点。

但是,看起来您使用的是SQLServer数据库,所以我不确定您为什么要引用MYSQL驱动程序?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14193220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档