使用JDBC—ODBC桥接器访问数据库
实例1查询SQLServer服务器上的数据库school的表course
代码;
<%@ page contentType="text/html; charset=gb2312" import="java.sql.*" %>
<HTML>
<BODY>
<CENTER>
<FONT SIZE = 4 COLOR = blue>连接SQL Server数据库</FONT>
</CENTER>
<HR>
<CENTER>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程序类别
String url = "jdbc:odbc:myschool";
String user="sa";
String pwd="";
Connection con = DriverManager.getConnection(url,user, pwd); //建立数据库链接,myschool为ODBC数据源名称
//建立Statement对象
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("SELECT * FROM course"); //建立ResultSet(结果集)对象,并执行SQL语句
rs.last(); //移至最后一条记录
%>
<br>
数据表中共有
<FONT SIZE = 4 COLOR = red>
<!--取得最后一条记录的行数-->
<%= rs.getRow() %>
</FONT>
笔记录
<br>
<TABLE border=1 bordercolor="#FF0000" bgcolor=#EFEFEF WIDTH=400>
<TR bgcolor=CCCCCC ALIGN=CENTER>
<TD><B>记录条数</B></TD>
<TD><B>课程号</B></TD>
<TD><B>课程名</B></TD>
<TD><B>教师号</B></TD>
</TR>
<%
rs.beforeFirst(); //移至第一条记录之前
//利用while循环配合next方法将数据表中的记录列出
while(rs.next())
{
%>
<TR ALIGN=CENTER>
<!--利用getRow方法取得记录的位置-->
<TD><B><%= rs.getRow() %></B></TD>
<TD><B><%= rs.getString("课程号") %></B></TD>
<TD><B><%= rs.getString("课程名") %></B></TD>
<TD><B><%= rs.getString("教师号") %></B></TD>
</TR>
<%
}
rs.close();//关闭ResultSet对象
stmt.close();//关闭Statement对象
con.close();//关闭Connection对象
%>
</TABLE>
</CENTER>
</BODY>
</HTML>
相关配置:
一 eclipse要 引入的包
大家要注意了,不同的数据库要引不同的包,而且sqlserver2000和sqlserver2008要引的包是不一样的,这点要特别注意啊!!
一开始我只引了jdbc的包,这是2000版本的,2008版本要引的是sqljdbc2.0驱动——Microsoft SQL Server JDBC Driver 2.0.exe,大家去网上搜就会有的,解压后运行里面的程序就可以得到sqljdbc4.jar和sqljdbc.jar,最好是2个都导进去吧,省的出问题。
http://www.microsoft.com/zh-cn/download
解压缩2052\sqljdbc_3.0.1301.101_chs.exe
二 eclipse引包方法
找到要引的包了,要怎么把它引进去呢?
右击你创建的工程,找到Build path ,选择 Add External Archives,找到你要导入的包,点击打开就可以引入了,引入后在工程下面的Referencede Libraries下便能显示这2个包了
三 创建数据库
既然是要用java连接数据库,当然你自己就要在sqlServer2008下创建一个你自己的数据库啦,现在我假设创建的数据库名为pro
四 创建数据源
在网上搜的很多java连接数据库的资料中都没用这一步,其实这一步是很重要的,也是你在编写程序时要用上的
在控制面板---管理工具中选择数据源,选择系统DNS选项卡,点击添加,选择SQLServer,点击完成,填入你自己取的数据源的名称,描述可以不用写,在服务器的选择中大家要注意了,一定要是你的sqlserver服务器的名称,并不一定就是下拉框中有选择的名称,我就是在这里纠结了好久久%>_<%,出现了如下图看上去不知道怎么解决的问题
找名称的方法是在你开启sqlserver2008时在连接的界面上会有服务器的名称,把它填入服务器名称框就可以了
点击下一步,选择你自己的数据库,一直下一步,到最后的时候可以测试哦~~~一般都会成功的
五 端口设置
这是一个很重要的问题,sqlserver2008的端口是动态的,会比较麻烦,在windows---所有程序----microsoft sqlserver的程序文件夹下会有个配置管理器,打开它,设为如下状态
点击TCP/IP打开,选择IP地址,因为我在后面的程序中用的IP地址是127.0.0.1,所以我设置了IP6和IPALL,IPALL TCP动态端口号一般为1433,这在程序里 是要用到的,所以要记着哦
设置完后,需要重启服务器,打开控制面板----管理工具-----服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动,便是重启了
六 用户权限
做完以上的步骤,环境便差不多配置好了,接下来就是程序如何获取数据库权限了~~~
如果你是要自己设置的账号的话,你可以在控制面板------管理工具-----计算机管理中选择本地用户和组展开,右击用户,选择新用户,这样就可以在计算机中添加一个账号了,然后在数据库中的安全性---登录名,右击选择新建登录名,点击右方的搜索,
点击高级,立即查找,在下方便会出现计算机上的用户名了,选择你创建的用户名,点击确定
在用户映射的选项卡中选择你要连接的数据库,
同时,你需要在最上方的服务器中右击选择属性-----安全性----sql身份验证和windows身份验证模式