当前位置: 代码迷 >> Java相关 >> [求助]怎么连接数据库失败了~!!
  详细解决方案

[求助]怎么连接数据库失败了~!!

热度:285   发布时间:2006-12-11 13:34:13.0
[求助]怎么连接数据库失败了~!!

我是用Microsoft Access 2003 建立的数据,文件名是db1.mdb
存放位置是同目录下,请各位帮忙看下,那里有问题!
import java.sql.*;
import java.io.*;

public class dataAccess
{

private Connection con;
private Statement sate;

/*------------------------------------------
-------------该方法用于连接数据库-----------
-------------------------------------------*/
public dataAccess()//构造函数
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=account.mdb";
con = DriverManager.getConnection(dbur1);
sate = con.createStatement();
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
..........................
...........................
........................
}

搜索更多相关的解决方案: 数据库  Microsoft  java  import  public  

----------------解决方案--------------------------------------------------------

失败信息


----------------解决方案--------------------------------------------------------

我觉得采用下面的连接方式比较好一些:

首先在系统管理工具 Data Source (ODBC) 中配置好数据源,比如是datasource。然后程序中采用下面的连接方式:

String Url = "jdbc:odbc:datasource";
String user = "";
String password = "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(Url, user, password);


----------------解决方案--------------------------------------------------------

数据库名:db1
表emp:
EMPNO ENAME
------- ----------
8001 Billgates
8002 Steve



import java.sql.*;

public class DataAccess
{
public static void main(String[] args)
throws SQLException, ClassNotFoundException {
String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};" +
"DBQ=db1.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

try {
Connection conn = DriverManager.getConnection(dbur1);
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select * from emp");

while (rset.next())
System.out.println(rset.getString(1) + " " + rset.getString(2));

rset.close();
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.out.println(ex.toString());
}
}
}


运行结果:

8001 Billgates
8002 Steve

------------------------------------------------------------------------------

我在我机子上运行成功了,如果你运行后还是不对,看是不是由于JDBC驱动、数据库软件等版本不兼容的问题


----------------解决方案--------------------------------------------------------
把出错信息贴过来,没出错信息,就只能用楼上的方法回你了
----------------解决方案--------------------------------------------------------
谢谢大家,我总于实现了~~!
谢谢
----------------解决方案--------------------------------------------------------
  相关解决方案