1、 使用JDBC连接SQL Server 2005 接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此整理方法(使用Eclipse 3.2)如下。 准备工作 首先,操作系统中安装好SQL Server 2000/2005,如果系统中都装有2000和2005版,记得停用一个,只开一个行了。 然后,到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.1 或更高版本。 解压sqljdb
2、c_1.1.1501.101_chs.exe,把sqljdbc_1.1复制到%ProgramFiles%(如果系统在C盘则为C:\Program Files)。 设置 Classpath JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath 设置为包含 sqljdbc.jar 文件。如果 classpath 缺少 sqljdbc.jar 项,应用程序将引发“找不到类”的常见异常。 sqljdbc.jar 文件的安装位置如下: <安装目录>\sqljdbc_<版本>\<语言>\sqljdbc.jar 下面是用于 Windo
3、ws 应用程序的 CLASSPATH 语句实例: CLASSPATH =.;%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar 下面是用于 Unix/Linux 应用程序的 CLASSPATH 语句实例: CLASSPATH =.:/home/usr1/mssqlserver2005jdbc/Driver/sqljdbc_1.1/chs/sqljdbc.jar 注意: 在 Window 系统中,如果目录名长于 8.3 或文件夹名中包含空格,将导致 classpath 出现问题。如果怀疑存在这类问题,应暂时将 sqljdbc.jar 文件移动到名称简单的
4、目录中,例如 C:\Temp,更改 classpath,然后测试这样是否解决了问题。 直接在命令提示符运行的应用程序 在操作系统中配置 classpath。将 sqljdbc.jar 追加到系统的 classpath 中。或者,使用 java -classpath 选项,可以在运行此应用程序的 Java 命令行上指定 classpath。 设置SQL Server服务器 我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。 1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具
5、→“SQL Server 配置管理器”→“SQL Server 2005 网络配置”→“MSSQLSERVER 的协议” 2、如果“TCP/IP”没有启用,右键单击选择“启动”。 3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433。 4、重新启动SQL Server或者重启计算机。 创建数据库 打开“SQL Server Management Studio”,登录连接SQL Server服务器,新建数据库,命名为test 在Eclipse中测试 1、打开Eclipse,“文件”→“新建”→
6、项目”→“Java 项目”,项目名为Test 2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar 3、在Test项目的“JRE 系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构建路径...”→“Java 构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar 4、编写Java代码
7、如下: import java.sql.*; public class Test { public static void main(String[] srg) { String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test"; //连接服务器和数据库test String userName = "sa"; //默认用户名
8、 String userPwd = "123456"; //密码 Connection dbConn; try { Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful! } catch (Exception e) { e.printStackTrace
9、); } } } 注: 1、因为SQL Express这个版本的服务器默认是禁用的并且端口号没有配置,所以要进行重新设置 2、如果你以前用Java连接SQL Server 2000的话就要注意了: 在SQL Server 2000 中加载驱动和URL路径的语句是 String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample"; 而
10、SQL Server 2005 中加载驱动和URL的语句则为 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 如果写法错误将会找不到驱动。 秋忆:对于Microsoft SQL Server 2005 JDBC Driver 1.1,据我看官方文档就没有提及2000与2005的差别,相信都是按照2005的语句写法,我没有测试2000,如果朋友你测试到不一
11、样请告诉我,谢谢! 其它参考资料: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 package jdb
12、c; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Test { private Connection conn = null; public Test() { super(); } public void getConnection()
13、 { try { Class .forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance(); String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=testDB"; String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置 String PASSWORD = "123"; // 根据你自己设置的数据库连接密码进
14、行设置 conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (java.lang.ClassNotFoundException ce) { System.out.println("Get Connection error:"); ce.printStackTrace(); } catch (java.sql.SQLException se) { System.out.println("Get Connection err
15、or:"); se.printStackTrace(); } catch (Exception e) { System.out.println("Get Connection error:"); e.printStackTrace(); } } public void testConnection() { if (conn == null) this.getConnection(); try { String s
16、ql = "SELECT * FROM user"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { System.out.print(rs.getString("ID")+" "); System.out.print(rs.getString("Name")+" "); System.out.println(rs.getSt
17、ring("Email")); } rs.close(); stmt.close(); } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { if (conn != null) try { conn.close(); } catch (SQLException e) {
18、 } } } public static void main(String[] args) { Test bean = new Test(); bean.testConnection(); } } 在jsp页面把Java代码写在<%%>中,就像在Java类中写代码一样。 1.首先你应该先建立jdbc与数据的的链接,有两种方式我给你发的例子中有两个jdbc。那就是链接数据库的java类。你只需把里面的代码,拷贝到jsp中。 jdbc链接数据库的代码 public static Conne
19、ction getConnection() throws ClassNotFoundException, SQLException { //加载驱动 Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); String url="jdbc:db2://192.168.1.104:50000/database"; String user="name"; String password="password"; Connection conn= DriverManager.getConnectio
20、n(url,user,password); return conn; } 把driver,url,username和password换成你的数据库驱动就可以了 链接任何的数据库都只改这个就行了。哈哈 验证的那段代码 public UserInfo loginInfo(UserInfo userInfo) { UserInfo user = null; MyJdbc jdbc = new MyJdbc(); String sql = "select * from userInfo where user_name='" + userInfo.getU
21、serName() + "'"; jdbc.openConn(); ResultSet rs = jdbc.excuteQuery(sql); try { if (rs.next()) { String userPass = rs.getString("user_pass"); if (userInfo.getUserPass().equals(userPass)) { user = new UserInfo(); user.setUserAddress(rs.getString("user_address"));
22、 user.setUserAnswer(rs.getString("user_answer")); user.setUserCity(rs.getString("user_city")); user.setUserEmail(rs.getString("user_email")); user.setUserId(rs.getInt("user_id")); user.setUserName(rs.getString("user_name")); user.setUserPass(rs.getString("user_pass"));
23、 user.setUserPhone(rs.getString("user_phone")); user.setUserPost(rs.getInt("user_post")); user.setUserQq(rs.getInt("user_qq")); user.setUserQuestion(rs.getString("user_question")); user.setUserRealName(rs.getString("user_realName")); user.setUserSex(rs.getString("
24、user_sex")); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } jdbc.closeStAndConn(); return user; } 你只需把这两段代码看明白了,引入到你的jsp页面就行了。 注意有个sql漏洞,哈哈使用另一种jdbc链接也可以避免这种漏洞就是sql语句有?的那种的可以避免sql漏洞 有些东西总是自己要尝试着做,我如果写的你直接能用,对你的学习也不利 给你发了个用j
25、sp做的小例子,实在不明白就看看,不过可没你的登录验证噢 只是告诉你jsp页面跟数据库怎样建立连接 JSP使用JDBC连接SQL Server 2005数据库的代码示例 2011-08-02 13:44 佚名 火魔网 我要评论(0) 字号:T | T 本文主要介绍了JSP使用JDBC连接SQL Server 2005数据库的代码示例,对于初学者来说这段代码可以套用,只需要稍作修改即可,希望能够对您有所帮助。 AD: 在用JSP开发应用程序时,JSP对数据库的操作是通过JDBC来实现的,本文我们给出了JSP通过JDBC连接SQL Server 2005
26、数据库的代码示例,包括java代码和JSP的代码,对于初学者来说可以直接套用这段代码,即可成功连接数据库。接下来我们就开始介绍。 1.下载SqlSer2005 JDBC Driver,解压,将sqljdbc.jar加入CLASSPATH环境变量。 2.开启Sql server服务,检查SERVER和Client端协议中Tcp/ip是否已启用。 java code: 1 import java.sql.*; public class JdbcDriver { 2 3 public static void main(String[] srg)
27、 { 4 5 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 6 7 //加载JDBC驱动 8 9 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=xq_sql"; 10 11 //连接服务器和数据库sample 12 13 String userName = "sa"; 14 15 //默认用户名 16 1
28、7 String userPwd = "1234"; 18 19 //密码 20 21 String sql=" SELECT * FROM xq_mem"; 22 23 Connection dbConn; 24 25 Statement state=null; 26 27 ResultSet rs=null; 28 29 try{ 30 31 Class.forName(driverName); 32 33 dbConn = DriverManager.getCon
29、nection(dbURL, userName, userPwd); 34 35 // it works well.. 36 37 //dbConn = DriverManager.getConnection(dbURL); 38 39 // doesn't work! 40 41 state=dbConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 42 43 System.out.println( "Conne
30、ction SQL Server 2005 Successful! "); 44 45 //如果连接成功 控制台输出Connection 46 47 Successful! 48 49 rs=state.executeQuery(sql); 50 51 while(rs.next()){ 52 53 String id=rs.getString(1); 54 55 String username=rs.getString(2); 56 57 System.out.print(id+" "); 58
31、 59 System.out.print(username+"\n"); 60 61 }catch(Exception e){ 62 63 e.printStackTrace(); } 64 65 } 如果用JSP连接,把sqljdbc.jar拷到tomcat的lib目录下,重启tomcat。 jsp code: 66 <%@ page contentType="text/html;charset=gb2312"%> 67 68 <%@ page import="java.sql.*"%> 69 70
32、 71 72
73 74 <% 75 76 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 77 78 Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=xq_sql;user=sa;password=1234"); 79 80 Statement stmt=conn.createStatement(ResultSet.33、TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
81
82 String sql="select * from xq_mem"; ResultSet rs=stmt.executeQuery(sql);
83
84 while(rs.next()){%> 第一个字段:<%=rs.getString(1)%> 第二个字段:<%=rs.getString(2)%>
85
86
87
88 <%
89
90 }
91
92 %>
93
94 <%out
34、print("数据库操作成功");%> 95 96 <%rs.close(); stmt.close(); conn.close(); 97 98 %> 99 100 101 102 关于JSP使用JDBC连接SQL Server 2005数据库的知识就介绍到这里了,希望本次的介绍能够带给您一些收获! 浅谈JSP JDBC来连接SQL Server 2005的方法 2009-09-10 09:40:43 来源:网络 评论:0 点击:2077 一、下载安装 一、下载安装
35、 1、SQL Server 2005 Express Edition 下载: 安装完数据库后设置ICP/IP协议启动,具体如下: (1)打开SQL Server Configuration Manager (2)转到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS (3)将TCP/IP设置为Enabled(启用) (4)双击TCP/IP项,转到IP Addresses页 (5)IP All中设置TCP Port为1433 (6)重新启动服务 2、SQL Serve
36、r2005数据库JSP JDBC驱动 下载: 安装或者解压,取得sqljdbc.jar文件,该文件即为JDBC驱动。将sqljdbc.jar放到classpath。(web application中放在WEB-INF/lib下) 二、连接数据库SQL Server2005的Java代码 1、在tempdb中创建测试数据表格 use tempdb CREATE TABLE dbo.Table_1 ( ID bigint NOT NULL, NAME varchar(20) NOT NULL, EMAIL varchar(50) NULL ) ON
37、 [PRIMARY] 2、测试使用数据库连接 下面代码创建了一个连接到数据库的连接,及使用连接操作数据库。 package mon.web.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.apache.log4j.Logger; public class Te
38、stConnSql2k5Bean { private static final Logger logger = Logger.getLogger(TestConnSql2k5Bean.class); private Connection conn = null; public TestConnSql2k5Bean() { super(); } public void getConnection() { try { Class .forName("com.microsoft.SQL Server.jdbc.SQL Serve
39、rDriver") .newInstance(); String URL = "jdbc:SQL Server://localhost:1433;DatabaseName=tempdb"; String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置 String PASSWORD = "123456"; // 根据你自己设置的数据库连接密码进行设置 conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (java.lang.ClassNotFoun
40、dException ce) { logger.error("Get Connection error:", ce); } catch (java.sql.SQLException se) { logger.error("Get Connection error:", se); } catch (Exception e) { logger.error("Get Connection error:", e); } } public void testConnection() { if (conn == null) this.g
41、etConnection(); try { String sql = "SELECT * FROM TABLE_1"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { logger.debug(rs.getString("ID")); logger.debug(rs.getString("NAME")); logger.debug(rs.getString("EMAIL"));
42、 } rs.close(); stmt.close(); } catch (SQLException e) { logger.error(e.getMessage(), e); } finally { if (conn != null) try { conn.close(); } catch (SQLException e) { } } } public static void main(String[] args) { TestConnSql2k5Bean bean = new TestCon
43、nSql2k5Bean(); bean.testConnection(); } } 三、SQL Server2000和2005的连接代码区别 写连接代码时需要注意2000和2005的不同: 1、JSP JDBC连接SQL Server2000 Class.forName("com.microsoft.jdbc.SQL Server.SQL ServerDriver").newInstance(); URL = "jdbc:microsoft:SQL Server://localhost:1433;DatabaseName=tempdb"; 2、J
44、SP JDBC连接SQL Server2005 Class.forName("com.microsoft.SQL Server.jdbc.SQL ServerDriver").newInstance(); URL = "jdbc:SQL Server://localhost:1433;DatabaseName=tempdb"; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; im
45、port java.sql.SQLException; public class ConnectionManager { private static String Driver_Class = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //驱动类连接字符串 private static String Database_Url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名称"; //url private static String Database_U
46、ser = "sa"; //数据库用户名 private static String Database_password = "sa"; //密码 /** * 获得数据库连接,返回连接对象 * @return connection */ public static Connection getConnection(){ Connection connection = null; try { Class.forName(Driver_Class); connection = DriverManager.getConnection(Database_Url); } cat
47、ch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } /** * 关闭连接 * @param rs 结果集对象 * @param pStatement PreparedStatement 对象 * @param connection 连接对象 */ public static void closeAll(ResultSet rs, PreparedStatement pSt
48、atement, Connection connection){ try { if(rs!=null){ rs.close(); rs = null; } if(pStatement!=null){ pStatement.close(); pStatement = null; } if(connection!=null){ connection.close(); connection = null; } }catch (SQLException e) { e.printStackTrace(); } } } 链接sqlserver 需要启动sqlserver 服务 mcrosoft sqlserver 2005-->配置工具--> sql server configuration manager -->sql server 网络配置-->MSSQLSERVER-->TCP/IP 将协议中已起用改为是 TCP 端口输入1433 已起用改为是 程序中右击 选择属性(properties-->java build path 选择 librares 选择 add external jars... 选中驱动包然后确定就行了
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818