【问题标题】:connecting to sql database in java [closed]在java中连接到sql数据库[关闭]
【发布时间】:2011-06-25 13:04:33
【问题描述】:

我正在尝试连接到数据库。我的朋友写了这段代码,但没有工作。它没有显示任何错误。

数据库名是testdb,表名是tab。它位于代码所在的同一文件夹中。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class dbtest {
 public static void main(String[] args){
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con = DriverManager.getConnection("jdbc:odbc:testdb");
        Statement stat = con.createStatement();
    stat.executeQuery("insert into tab values ('test','test','test')");
        //stat.executeUpdate();
    } catch (SQLException ex) {
        Logger.getLogger(dbtest.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(dbtest.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
}

【问题讨论】:

  • 不工作?你期望看到什么?你实际看到了什么?
  • 为什么要借用“朋友”的代码?为什么不通过Java database tutorials 学习编写自己的,实际显示一些结果的?
  • @Steve McLeod :这些值没有被插入到数据库中。

标签: java sql


【解决方案1】:

问题在于您的 odbc 连接

转到 ControlPanel->AdministrativeTools->DataSource(ODBC)->System DSN->ADD->SqlServer->

然后在名称字段中提供源名称。

您必须在 DriverManager.getConnection 方法中使用此名称而不是 testdb。

因为 getConnectionMethod 采用源名称而不是数据库名称。所以你的代码不起作用。

但是,在填写源名称后,请使用您的服务器填写服务器字段。然后您将被要求为源连接绑定数据库并设置您的数据库名称。希望您完成了。

【讨论】:

    【解决方案2】:

    所有错误都被放入 Logger 对象中,因此您不会立即看到它们。 http://download.oracle.com/javase/6/docs/api/java/util/logging/Logger.html

    为了使其正常工作,您应该查看 JDBC 教程。

    【讨论】:

      猜你喜欢
      • 2012-07-12
      • 2011-01-14
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多