黑马程序员技术交流社区

标题: 怎么实现java连接SQL Server 数据库 [打印本页]

作者: 马林贺    时间: 2012-6-1 15:49
标题: 怎么实现java连接SQL Server 数据库
  我的电脑装的是SQL Server Management Studio ,要是用java 要怎么具体的连接呢?
作者: 马林贺    时间: 2012-6-1 15:57
    有没有人教我一下?
作者: 黄捷    时间: 2012-6-1 16:04
、安装Microsoft SQL Server 2000 Driver for JDBC后,将lib目录下的msbase.jar  ,  mssqlserver.jar,  msutil.jar 复制到JDK的主目录下,具体是jdk1.4jrelibext . 完成后编写一下代码

原理:使用jdbc-odbc桥进行连接

  try{
  Connection con;
  
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  //注册驱动
  con = DriverManager.getConnection("jdbc:microsoft:sqlserver://你的IP:1433;databaseName=数据库名","sa","你的密码");//
     
  Statement sta = con.createStatement(); //执行sql语句的容器
  String str = "select * from 表名";
  ResultSet re = sta.executeQuery(str); //执行完的结果赋给  ResultSet
  while(re.next()){ //通过游标对数据进行访问
   String 字段名= re.getString("字段名");
   System.out.println(字段名);
  }

作者: 马超    时间: 2012-6-1 16:04
好复杂的问题  不是一会半会能说清楚的,我大概给你说一下啊,你先看下源码:
package s2jsp.bysj.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class BaseDao {   
    public final static String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";                 // 数据库驱动
    public final static String URL    = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=company";   // url
    public final static String DBNAME = "sa";                                                           // 数据库用户名
    public final static String DBPASS = "120010";                                                           // 数据库密码
   
    /**
     * 得到数据库连接
     * @throws ClassNotFoundException
     * @throws SQLException
     * @return 数据库连接
     */
    public Connection getConn() throws ClassNotFoundException, SQLException{
        Class.forName(DRIVER);                                                    //注册驱动
        Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS);        //获得数据库连接
        return conn ;                                                            //返回连接
    }
   
    /**
     * 释放资源
     * @param conn 数据库连接
     * @param pstmt PreparedStatement对象
     * @param rs 结果集
     */
    public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
        /*  如果rs不空,关闭rs  */
        if(rs != null){
            try { rs.close();} catch (SQLException e) {e.printStackTrace();}
        }
        /*  如果pstmt不空,关闭pstmt  */
        if(pstmt != null){
            try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}
        }
        /*  如果conn不空,关闭conn  */
        if(conn != null){
            try { conn.close();} catch (SQLException e) {e.printStackTrace();}
        }
    }
   
    /**
     * 执行SQL语句,可以进行增、删、改的操作,不能执行查询
     * @param sql  预编译的 SQL 语句
     * @param param  预编译的 SQL 语句中的‘?’参数的字符串数组
     * @return 影响的条数
     */
    public int executeSQL(String preparedSql,String[] param) {
        Connection        conn  = null;
        PreparedStatement pstmt = null;
        int               num   = 0;
        
        /*  处理SQL,执行SQL  */
        try {
            conn = getConn();                              // 得到数据库连接
            pstmt = conn.prepareStatement(preparedSql);    // 得到PreparedStatement对象
            if( param != null ) {
                for( int i = 0; i < param.length; i++ ) {
                    pstmt.setString(i+1, param[i]);         // 为预编译sql设置参数
                }
            }
            num = pstmt.executeUpdate();                    // 执行SQL语句
        } catch (ClassNotFoundException e) {
            e.printStackTrace();                            // 处理ClassNotFoundException异常
        } catch (SQLException e) {
            e.printStackTrace();                            // 处理SQLException异常
        } finally {
            closeAll(conn,pstmt,null);                     // 释放资源
        }
        return num;
    }

}

希望能够帮到你啊。。

作者: 刘伯阳    时间: 2012-6-1 16:04
本帖最后由 刘伯阳 于 2012-6-1 16:05 编辑

我简单的告诉你下吧。JAVA连接SQL Server要使用JDBC驱动模型,要想连上首先要获得相应的驱动,你去微软的官网上下载吧,安装完了有3个jar包,这三个就是驱动程序用来连接数据库的。然后把这三个文件的路径加入到classpath环境变量中。
注意要先启动数据库再运行。
测试代码:
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"; //默认用户名
  String userPwd = "123456"; //安装sql server 2005时的密码
  Connection dbConn;
  try {
  Class.forName(driverName);
  dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
  System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }
作者: 金鑫    时间: 2012-6-1 16:06
import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnection
{
        private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

        private String url = "jdbc:sqlserver://localhost:1433;databaseName=test";

        private String username = "sa";

        private String password = "sa";

        private Connection conn = null;

        public Connection getConnection()
        {
                try
                {
                        Class.forName(driver);
                        conn = DriverManager.getConnection(url, username, password);
                }
                catch (Exception e)
                {
                        e.printStackTrace();
                }
                return conn;
        }

        //关闭
}
作者: 黑马—陈磊    时间: 2012-6-1 16:11
Java 连接 Sqlserver2005
     包 : sqljdbc.jar (创建完测试项目添加此夹包)
1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“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

5.编写Java代码,如下:

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";  //默认用户名
  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();
  }
}
}
其他一些数据库连接类似
作者: 山水游客    时间: 2012-6-1 21:51
首先定义变量
private final String Driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private final String url = "jdbc:microsoft:sqlserver://主机名:1433;selectMethod=cursor;DatabaseName= 你自已的数据库名称";
private final String password = " 数据库密码";
private final String userName = "用户名";
其中com.microsoft.jdbc.sqlserver.SQLServerDriver为sqlserver的驱动
//定义方法
private Connection getConnection(){
try{
Class.forName(Driver);
conn = DriverManager.getConnection(url,userName,password);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}

//sqlserver 数据库连接成功




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2