使用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服务器的名称,并不一定就是下拉框中有选择的名称,我就是在这里纠结了好久久%>_<%,出现了如下图看上去不知道怎么解决的问题


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_sql


找名称的方法是在你开启sqlserver2008时在连接的界面上会有服务器的名称,把它填入服务器名称框就可以了

SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_sql_02

点击下一步,选择你自己的数据库,一直下一步,到最后的时候可以测试哦~~~一般都会成功的

五  端口设置

这是一个很重要的问题,sqlserver2008的端口是动态的,会比较麻烦,在windows---所有程序----microsoft sqlserver的程序文件夹下会有个配置管理器,打开它,设为如下状态


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_bc_03

 

点击TCP/IP打开,选择IP地址,因为我在后面的程序中用的IP地址是127.0.0.1,所以我设置了IP6和IPALL,IPALL TCP动态端口号一般为1433,这在程序里 是要用到的,所以要记着哦


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_SQL Server_04


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_sql_05


设置完后,需要重启服务器,打开控制面板----管理工具-----服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动,便是重启了

SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_sql_06


 

六  用户权限

做完以上的步骤,环境便差不多配置好了,接下来就是程序如何获取数据库权限了~~~

如果你是要自己设置的账号的话,你可以在控制面板------管理工具-----计算机管理中选择本地用户和组展开,右击用户,选择新用户,这样就可以在计算机中添加一个账号了,然后在数据库中的安全性---登录名,右击选择新建登录名,点击右方的搜索,


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_sql_07


点击高级,立即查找,在下方便会出现计算机上的用户名了,选择你创建的用户名,点击确定

SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_sql_08


在用户映射的选项卡中选择你要连接的数据库,

 


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_bc_09

 

同时,你需要在最上方的服务器中右击选择属性-----安全性----sql身份验证和windows身份验证模式


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_数据库连接_10


SERVER数据库表元数据 java获取SQL java读取sqlserver中的数据_SQL Server_11