1、JSP 中使用 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,也可以使用这个地址直接
2、下载。解压 sqljdbc_1.1.1501.101_chs.exe,把 sqljdbc_1.1 复制到%ProgramFiles%(如果系统在 C 盘则为 C:Program Files)。设置 ClasspathJDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath 设置为包含 sqljdbc.jar 文件。如果 classpath 缺少 sqljdbc.jar 项,应用程序将引发“找不到类” 的常见异常。 sqljdbc.jar 文件的安装位置如下:sqljdbc_sqljdbc.jar下面是用于 Windows 应用程序的 CLASS
3、PATH 语句实例:CLASSPATH =.;%ProgramFiles%sqljdbc_1.1chssqljdbc.jar下面是用于 Unix/Linux 应用程序的 CLASSPATH 语句实例:CLASSPATH =.:/home/usr1/mssqlserver2005jdbc/Driver/sqljdbc_1.1/chs/sqljdbc.jar注意: 在 Window 系统中,如果目录名长于 8.3 或文件夹名中包含空格,将导致 classpath 出现问题。如果怀疑存在这类问题,应暂时将 sqljdbc.jar 文件移动到名称简单的目录中,例如 C:Temp,更改 classpat
4、h,然后测试这样是否解决了问题。 直接在命令提示符运行的应用程序在操作系统中配置 classpath。将 sqljdbc.jar 追加到系统的 classpath 中。或者,使用 java -classpath 选项,可以在运行此应用程序的 Java 命令行上指定 classpath。设置 SQL Server 服务器我使用的是 SQL Server 2005 标准版 SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。1、“ 开始 ” “程序”“Microsoft SQL Server 2005”“ 配置工具”“SQL Server 配置管理器”“SQL Server 2005
5、网络配置” “MSSQLSERVER 的协议”2、如果“TCP/IP”没有启用,右键单击选择“ 启动” 。3、双击“TCP/IP”进入属性设置,在“IP 地址 ”里,可以配置“IPAll” 中的“TCP 端口”,默认为 1433。4、重新启动 SQL Server 或者重启计算机。创建数据库打开“SQL Server Management Studio”,登录连接 SQL Server 服务器,新建数据库,命名为 test在 Eclipse 中测试1、打开 Eclipse,“ 文件 ”“新建” “项目”“Java 项目” ,项目名为 Test2、在 Eclipse 中,选择 “窗口”“首选项.
6、”“Java”“ 已安装的 JRE”,选择已安装的 JRE,点击“编辑”“ 添加外部” ,选择%ProgramFiles%sqljdbc_1.1chssqljdbc.jar3、在 Test 项目的“JRE 系统库”中可以看见 sqljdbc.jar,如果没有可以右键单击项目 Test“ 构建路径”“配置构建路径.”“Java 构建路径”“库”“ 添加外部 JAR.”,选择%ProgramFiles%sqljdbc_1.1chssqljdbc.jar4、编写 Java 代码,如下:import java.sql.*; public class Test public static void ma
7、in(String srg) String driverName = “com.microsoft.sqlserver.jdbc.SQLServerDriver“; /加载 JDBC 驱动String dbURL = “jdbc:sqlserver:/localhost:1433; DatabaseName=test“; /连接服务器和数据库 testString userName = “sa“; /默认用户名String userPwd = “123456“; /密码Connection dbConn;try Class.forName(driverName);dbConn = Driver
8、Manager.getConnection(dbURL, userName, userPwd);System.out.println(“Connection Successful!“); /如果连接成功 控制台输出 Connection Successful! catch (Exception e) e.printStackTrace();注: 1、因为 SQL Express 这个版本的服务器默认是禁用的并且端口号没有配置,所以要进行重新设置2、如果你以前用 Java 连接 SQL Server 2000 的话就要注意了:在 SQL Server 2000 中加载驱动和 URL 路径的语句是
9、String driverName = “com.microsoft.jdbc.sqlserver.SQLServerDriver“;String dbURL = “jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=sample“;而 SQL Server 2005 中加载驱动和 URL 的语句则为String driverName = “com.microsoft.sqlserver.jdbc.SQLServerDriver“;String dbURL = “jdbc:sqlserver:/localhost:1433; Datab
10、aseName=sample“; 如果写法错误将会找不到驱动。秋忆:对于 Microsoft SQL Server 2005 JDBC Driver 1.1,据我看官方文档就没有提及2000 与 2005 的差别,相信都是按照 2005 的语句写法,我没有测试 2000,如果朋友你测试到不一样请告诉我,谢谢!其它参考资料:http:/ java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;
11、public class Test private Connection conn = null;public Test() super();public void getConnection() try Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver“).newInstance();String URL = “jdbc:sqlserver:/localhost:1433;DatabaseName=testDB“;String USER = “sa“; / 根据你自己设置的数据库连接用户进行设置String PASSWOR
12、D = “123“; / 根据你自己设置的数据库连接密码进行设置conn = DriverManager.getConnection(URL, USER, PASSWORD); catch (java.lang.ClassNotFoundException ce) System.out.println(“Get Connection error:“);ce.printStackTrace(); catch (java.sql.SQLException se) 92021222324252627282930313233343536373839404System.out.println(“Get
13、Connection error:“);se.printStackTrace(); catch (Exception e) System.out.println(“Get Connection error:“);e.printStackTrace();public void testConnection() if (conn = null)this.getConnection();try String sql = “SELECT * FROM user“;Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQue
14、ry(sql);while (rs.next() System.out.print(rs.getString(“ID“)+“ “);System.out.print(rs.getString(“Name“)+“ “);System.out.println(rs.getString(“Email“);rs.close();stmt.close(); catch (SQLException e) System.out.println(e.getMessage();e.printStackTrace(); finally if (conn != null)try conn.close(); catc
15、h (SQLException e) public static void main(String args) Test bean = new Test();bean.testConnection();142434445464748495051525354555657585960616263646566在 jsp 页面把 Java 代码写在中,就像在 Java 类中写代码一样。1.首先你应该先建立 jdbc 与数据的的链接,有两种方式我给你发的例子中有两个 jdbc。那就是链接数据库的 java 类。你只需把里面的代码,拷贝到 jsp 中。jdbc 链接数据库的代码public static
16、Connection 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.getConnection(url,user,password);
17、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.getUserName() + “;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();