Java连接并操作SQLServer数据库

本人只需在项目中引入sqljdbc4.jar 包即可

-----------------------------------------

在JAVA中如何连接SQL Server数据库 - hanghangde的博客 - 博客频道 - CSDN.NET
http://blog.csdn.net/hanghangde/article/details/50463658

这篇文章说得很好,有链接 2000和 2008的服务器版本;

Java连接SqlServer2008数据库
首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
下载 完成后,是个exe文件,点击运行,会提示你选择解压目录.
解压完成后,进入 <你解压到得目录>\sqljdbc_3.0\chs,里边有两个我们需要的东东
一个是:sqljdbc.jar,另外一个是sqljdbc4.jar
这里使用sqljdbc4.jar
首先配置sa身份验证:
由于安装sqlServer2008时是以windows身份验证安装的,并没有为sqlServer2008添加sqlServer身份用户,因此首先添加用户:
打开Microsoft SQL Server Managerment Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlServer身份验证,在"状态"选项中授予连接到数据库和登录启用.右击对象资源管理器的根节点,选择属性->安全性->sqlServer和windows身份验证模式,这样就为sql server 2008创建了以sql server身份验证的用户sa.
在java代码中用两种方式连接sqlserver2008数据库,一种是sa身份验证模式,另外一种是混合身份验证模式:
第一种:sa身份验证模式,用下边java代码的url

复制代码
import java.sql.Connection;    
import java.sql.DriverManager;    
import java.sql.ResultSet;    
import java.sql.Statement;    
    
public class Test {    
    
    public static void main(String args[]) {    
        // Create a variable for the connection string.  
    
        String url = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;user=sa;password=qiaoning";//sa身份连接    
    
        String url2 = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;integratedSecurity=true;";//windows集成模式连接    
    
        // Declare the JDBC objects.    
        Connection con = null;    
        Statement stmt = null;    
        ResultSet rs = null;    
    
        try {    
            // Establish the connection.    
            System.out.println("begin.");    
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    
            con = DriverManager.getConnection(url);    
            System.out.println("end.");    
    
            // Create and execute an SQL statement that returns some data.    
            String SQL = "SELECT TOP 10 * FROM aud_t_basis";    
            stmt = con.createStatement();    
            rs = stmt.executeQuery(SQL);    
    
            // Iterate through the data in the result set and display it.    
            while (rs.next()) {    
                System.out.println(rs.getString(4) + " " + rs.getString(6));    
            }    
        }    
    
        // Handle any errors that may have occurred.    
        catch (Exception e) {    
            e.printStackTrace();    
        }    
    
        finally {    
            if (rs != null)    
                try {    
                    rs.close();    
                } catch (Exception e) {    
                }    
            if (stmt != null)    
                try {    
                    stmt.close();    
                } catch (Exception e) {    
                }    
            if (con != null)    
                try {    
                    con.close();    
                } catch (Exception e) {    
                }    
        }    
    }    
}   
复制代码
复制代码
package pkg;
import java.sql.*;
public class QueryDemo {
    public static void main(String[] args){
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=GpsDB";
        String user="sa";
        String password="123456";
        try{
            Class.forName(JDriver);// 动态导入数据库的驱动
            Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接 
            String query="SELECT TOP 50 * FROM dbo.DSC_User";// 创造SQL语句 
            Statement stmt=conn.createStatement();// 执行SQL语句
            ResultSet rs=stmt.executeQuery(query);
            while(rs.next()){
                System.out.println(rs.getString("ID")+"\tName:"+rs.getString(2)+"\t\t[GroupID]:"+rs.getString(3)
                +"\t\t[Password]:"+rs.getString(4));
            }
            System.out.println("查询数据成功");
            rs.close();
            stmt.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
本人实践代码
复制代码

第二种:混合身份验证模式,用上边java代码的url2.
在集成模式下需要如下操作:
找到你刚才的解压目录:进入sqljdbc_3.0\chs\auth\x64,我的是64位系统,如果是32位就x86,将一个名为sqljdbc_auth.dll的文件拷贝到:C:\Windows\System32下,就好了
最后就是sqlserver2008用的是动态端口,需要你配置一下:
打开配置工具->SQLServer配置管理器->SQLServer网络配置->MSSQLSERVER的协议->TCP/IP启用,把TCP动态端口中的0都删掉,留空;然后把列表拉到最下边(IPALL),配置一个固定端口,以后你连接数据库就用这个端口就可以了:如下图

这里我用的是1368,数据库重启后,就可以用上面的程序连接了.

========================拓展:

Java连接数据库(mysql,sqlserver) - 霁源童 - 博客园
http://www.cnblogs.com/huangxinyuan650/p/5991441.html

java开发相关资料 - keenweiwei的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/keenweiwei/article/details/7328611

Java连接并操作SQLServer数据库 - zhangxiaoshuang - 博客园
http://www.cnblogs.com/zhangxiaoshuang/p/6793561.html

 

mysql-connector-java-5.0.8-bin.jar
sqljdbc.jar
sqljdbc4.jar

posted @   海蓝7  阅读(3488)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2015-06-06 bpl 包的编写和引用
点击右上角即可分享
微信分享提示