使用JDBC-ODBC访问数据库 ,大多数应用都只有如下几步:
1.连接数据库
2.使用SQL创建语句
3.在数据库中执行SQL查询
4.查看结果
而这一些列操作的前提是拥有三样东西:
1.Java中的JDBC-ODBC桥驱动程序
2.一个ODBC驱动程序
3.一个ODBC数据源
关于代码外的操作,只有配置ODBC数据源。打开“控制面板” - “管理工具” - “ODBC数据源”,在Driver里面看目前ODBC数据源管理器支持的数据库类型,书上例子一般是直接链接到mdb数据库(office Access),但此类数据库在一般应用上已经很少了,所以索性给刚刚下载安装好的MSSQLServer2005做个测试。
注意:MSSQLServer2005默认并没有启动MSSQLServer服务,需要我们手动在 控制面板-管理工具-服务 里面启动。
忘了说,配置ODBC数据源的过程是,查看ODBC数据源管理器中支持的ODBC数据源数据库访问类型,其中有一项是SQL Server,可以肯定它支持MSSQLServer,那么我们在 用户DSN 选项卡里 新建 ,1.选择驱动类型(根据要链接的数据源类型选择,这里我选SQL Server,下一步 名称+描述+服务器(其中名称是要在编码中需要的,描述可以空着不填,服务器应该是写IP地址,如果在本机的话也可以写localhost),接着会有一个验证模式的单选,分为:网络登陆的win NT验证和 用户输入登陆ID 和密码的SQLServer验证,我选择后者,并在下方的链接SQLServer以获得其他配置选项的默认设置中填写登陆用户名和密码(也就是MSSQLServer中需要登陆的数据库的用户名和密码),照常来讲,如果验证信息正确,会顺利继续的,否则是会有个错误提示框的。其他就无关紧要的下一步就可以了。
结合开篇访问数据库的步骤和如下的代码注释可以清晰看到用JDBC-ODBC访问数据库的整个过程。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class odbcDemo {
public static void main(String[] args){
String data = "jdbc:odbc:SQLServerTest";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载JDBC-ODBC驱动类
Connection conn = DriverManager.getConnection(data, "sa","");
//根据data中定义的JDBC-ODBC协议连接我们在ODBC数据源中命名的名称,并在后面的两个参数中输入登录名和密码
Statement st = conn.createStatement();
//创建语句
ResultSet rec = st.executeQuery(
"SELECT * " +
"FROM authors " +
"WHERE " +
"(city='" + args[0] + "')" +
"ORDER BY au_fname");
//执行语句
System.out.println("列表项");
while(rec.next()){
System.out.println(rec.getString(1) + "\t"
+ rec.getString(2) + "\t"
+ rec.getString(3) + "\t"
+ rec.getString(4) + "\t");
}
st.close();
}catch(SQLException s){
System.out.println(s.toString());
}catch(Exception e){
System.out.println(e.toString());
}
}
}
34343