2种方法:JDBC和JDBC-ODBC Bridge
官方说明如下:http://java.sun.com/j2se/1.3/docs/guide/jdbc/getstart/bridge.doc.html
If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC. It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge (that is, the Bridge native library, the ODBC driver manager library, the ODBC driver library, and the database client library).
The JDBC-ODBC Bridge driver is recommended for use in prototyping efforts and for cases where no other JDBC technology-based driver exists. If a commercial, all-Java JDBC driver is available, we recommend that it be used instead of the Bridge.
简单例子:
一、JDBC
按照如下步骤连接
刚开始连接数据库是比较麻烦的,记得我第一次用JDBC连接数据库的时候弄得我甚是郁闷。
好,下面开始一步一步的来:
我认为供学习使用的DB还是SQL2000比较好,也比较普遍,因为SQL Server也算是一个应用比较广泛的关系型数据库,
而像DB2,Oracle,我都觉得太专业,学习使用没有必要,SQLServer可以装一个个人版就足以学习Java的数据库连接了
我比较反对用Access数据库,引在Core Java中的话说就是:这样的桌面数据库不仅安装和配置有些复杂,而且桥连接驱动程序和
桌面数据库有很多的的局限性,这些局限性很容易导致混乱,所以,人们从这种驱动程序的安装中只能学到很少的真正的数据库知识。
我就以连接SQL 2000为例来说:
首先肯定是下载驱动程序了:
Microsoft JDBC for SQL SERVER的驱动程序;http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp
安装版的不到2M,安装完后开始程序中会出现Microsoft SQL Server 2000 Driver for JDBC,然后有一个HTML Help,其实从中就可以找到连接SQLserver的全部信息
忘了还必须要有SQLServer,大家可以到http://www.codestudy.net/去下载,4in1版本的
装好SqlServer过后,建立一个数据库,名为test,然后建立一个表"NAME",然后输入name字段,char类型,然后让这个字段的值为HelloDB(如果基本的数据库操作不会我就没辙了:)
然后应该把驱动程序类加入到classpath中了,我在上面的帖子说过,应该把/Microsoft SQL Server 2000 Driver for JDBC/lib下面的mssqlserver.jar msutil.jar msbase.jar
这三个文件放在%JAVA_HOME%/jre/lib/ext下面,然后就是测试程序了:
照如下的代码输入程序:
import java.sql.*;
public class SQLTest{
public static void main(String[] args){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM NAME";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println("Your frist field is " + rs.getString("name"));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){
System.err.println(e);
}
}
如果出现HelloDB就说明操作数据库成功了,当然这么顺利我就笑了,我觉得比较常见的问题就是用户sa未与信任 SQL Server 连接相关联。
这个在我刚开始连接数据库的时候也遇到过,但是后来不知怎么的弄好了也没有深入研究了。那天在这个帖子
http://expert.csdn.net/Expert/topic/2028/2028251.xml?temp=.5175592zez(思恩 为老婆多挣钱 鹤清风) 大哥的回复中才知道,要修改sql server 为sql 和 windows验证
不能是只有windows验证,所以才连不上。
然后我说说怎么在JBuilder中配置SQLServer的连接,在这里我引用一下beyond_xiruo大哥的文章《在JBuilder中使用com.microsoft.jdbc.sqlserver.SQLServerDriver连接sql数据库 beyond_xiruo》
原文在http://www.csdn.net/Develop/Read_Article.asp?Id=15098
一,你确定你安装的jdbc是否完全版,因为有个单机版只能连接本机上的sql,单机版约2m,完全版约6.5m
二、安装好jdbc后,假如目录在C:/Program Files/Microsoft SQL Server 2000 JDBC,打开Jbuilder,选择Tools-->Configure Libraries,然后在左边的列表框下选择New,填入:Name:sql,Location:User Home,然后点击Add,加入目录C:/Program Files/Microsoft SQL Server 2000 JDBC/lib,确定
三、Project-->Prject Properties-->Paths-->Required Libraries-->Add
加入刚才添加的User Home/sql确定
四、Tools-->Enterprise Setup-->Database Drivers-->Add,加入User Home/sql,添加之后在列表框中显示的是sql.config,确定,重新启动JBuilder
五、Tools-->Database Pilot-->View-->Options-->Drivers-->Add
填入
Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver
Simple URL:microsoft:sqlserver://localhost:1433;DatabaseName=mybase
确定之后,Tools-->Database Pilot-->New的Driver里选择
com.microsoft.jdbc.sqlserver.SQLServerDriver
在URL里填入:
microsoft:sqlserver://服务器Ip地址或主机名:1433;DatabaseName=数据库名,确定!
双击或点击+号输入sql数据库的用户名和密码,就完成了JB与sql的连接!
然后你就可以查看你这个数据库中的资源了,我用JB就是这样连接的:)(个人表示感谢xiruo大哥:))
二、JDBC-ODBC Bridge
String url = "jdbc:odbc:databaseSource";//databaseSource是你配置的数据源名字