java连接SqlServer2005(netbeans)

来源:互联网 发布:mac邮件连接失败 编辑:程序博客网 时间:2024/04/29 11:21

花了大半天的时间终于解决了问题,下面分享一下我的过程:

我的系统安装的是jdk6,netbeans和Mycrosoft SqlServer 2005,java连接数据库一般要分六部走

1.注册驱动

2.用驱动管理类创建连接

3.创建语句statement封装sql脚本语句

4.执行

5.处理返回的结果

6.关闭相关连接

在这里连接的是SqlServer2005,属于第三方驱动,首先得从网上下载该驱动,可以到微软官方网站上下载最新版本的JDBC 1.2,

然后将下载的sqljdbc_1.2.2828.100_chs(Microsoft SQL Server 2005 JDBC Driver 1.2中文版)解压缩到C:/Program Files/Microsoft SQL Server 2005 JDBC Driver,在classpath后面加上一项C:/Program Files/sqljdbc_1.2/chs/sqljdbc.jar

接着要启用sqlserver的tcp/ip协议,方法:

开始-所有程序-Microsoft SQL Server 2005-配置工具-SQL Server Configrution Manager。
打开后找到SQL Server 2005网络配置下面的SQLEXPRESS协议,在右边的窗口会看见TCP/IP,右 键 点击,选择启用,再双击TCP/IP,在协议下全部侦听选是,启用选是。
在p地址栏,选择ippall将tcp端口设置为1433,确定之后,在服务里将SQL Server (MSSQLSERVER)和SQL Server (SQLEXPRESS)重新启动一下。

接着要对netbeans进行设置

数据库->驱动程式,按鼠标右键,选择菜单“新建驱动程式...",此时将弹出一个对话框:“新建JDBC驱动程式”,点击“添加(A)...”按钮,找到你你放驱动包的位置,我的是:C:/Program Files/sqljdbc_1.2/chs/sqljdbc.jar,再在名称那里输入个名字,如我的是:Microsoftware Sql server 2005(1),然后确定。

 

 

驱动加入以后,在"数据库"->"驱动程式"下多了一个刚输入的"SQLServer2005",选中它并按鼠标右键,选择"连接使用...",此时将弹出一个对话框,在"数据库URL(A)"处输入:"jdbc:sqlserver://localhost:1433; DatabaseName=(您的数据库名)", 然后再输入用户名与口令,并勾选上"在此会话期间记住口令"(此项非必选),最后按"确定"按钮,此时应该就显示连接成功(若显示出错无法连接,请看下一步的处理,处理好后再继续),并应该在数据库下多了一个名称形如:"jdbc:sqlserver....."的小图标,选中它并按鼠标右键,选择菜单"连接...",此时一切就OK了。

若在上一步没有连接成功,出现错误讯息,应该检查上面的.您的SQL Server是否有启动TCP/IP通讯协定,并手工指定了Port号如1433;2.您的SQL Server的安全认证是否有选择混合认证;为何有这点注意事项呢,是因为SQL Server express 2005基于安全性考量,其默认设置为不启动TCP/IP协定,且即使启动了,对外服务的Port也是动态的,安全认证为仅Windows认证。

然后右键,点连接

连接好以后,右键执行命令

 

右边将可以输入sql语句对数据库操作,我当时这个可以成功了。

测试代码:

package sqlservertest;
import java.sql.*;
/**
 *
 * @author admin
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        try{
        //step1 regist driver,
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        //step2 build connection
        Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=student","zhangjinlin","200792005");
        //step3 create statement
        PreparedStatement psm=conn.prepareStatement("insert into student(Snumber,Sname,Sclass) values(?,?,?)");
        //step4 excute
        psm.setString(1, "2007");
        psm.setString(2, "李阳");
        psm.setString(3, "0719");
        psm.executeUpdate();
        //step5 close
        psm.close();
        conn.close();
        System.out.println("successfully!!");
        }
        catch(Exception e){
            System.out.println("failed");
            e.printStackTrace();
        }
    }

}