JDBC(Java DataBase Connectivity)是Java数据库连接API。JDBC能完成与一个数据库建立连接,然后向数据库发送SQL语句,再处理数据库返回的结果。
JDBC在设计上和ODBC相似。JDBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器。
首先安装office2000,就有了Access2000,启动Access,建立新数据库mess.mdb,建立包含两个文本型字段name和sex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源 (ODBC),选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,选择如下图的项目:
点击"完成",弹出的对话框里将"数据源名"一项设为你喜欢的名字,比如test。点"选择",找到"C:/mess.mdb"文件,如此一个ODBC数据源就配置好了。
要连接该数据源,也就是连接数据库,首先要建立一个JDBC-ODBC桥接器,上面已经说过了,其方法是:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class 是Java.lang包中的一个类,通过调用它的静态方法forName就可以建立桥接器。但建立桥接器时可能发生异常,这是我们所不想见到的,因此要捕获这个异常:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){异常捕获}
然后就是连接数据库了,这里要用到java.sql包中的Connection类声明一个对象,再用类DriverManager调用它的静态方法getConnection创建这个连接。
Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字","数据源用户名","数据源密码");
为防止连接出现异常,这里也要有个异常的处理,具体看代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnToAccess {
public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException
{
//String url="jdbc:odbc:driver={Microsoft Access Driver (*.accdb)};DBQ=db.accdb";
String url="jdbc:odbc:test"; //此为dsn
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(url);
Statement stm=conn.createStatement();
ResultSet rs=stm.executeQuery("select * from sell");
while(rs.next())
{
System.out.println(rs.getString(3));
}
rs.close();
stm.close();
conn.close();
}
catch (ClassNotFoundException e)
{
System.out.println(e.getMessage());
}
}
}