• JAVA 连接SQLServer数据库


    哇今天闲着没事准备把前几天链接数据库碰到的问题写到博客,写到一半浏览器切出去了,这个浏览器也没保存,晚上又写了一遍,唉 蛋疼呀╮(╯▽╰)╭!!

    说一说连接数据库遇到的问题,唉问题繁多,原来自己刷的精简版盗版系统刚开始就打不开数据库安装包,后来刷了个原版的,链接不上去,后来就又刷了一遍系统(删注册表也装不上去),一些问题你们需要参考一下... 这个对framework 3.5需求很高,没装的,或者有问题的都装不上。。有时候我特么装了VS2013就装不了数据库,装了数据库就装不了VS

    !!!呀呀呀

    安装问题:

     
    安装时到这一步尽量选混合模式自己输入密码,不用太复杂123456就得了,毕竟你是在学习,不是维护数据库.
     
    如果 安装时是这样安装的只需要进行下面的步骤:
    如果不是这样的  看红色标记后的内容...
    打开sql配置工具如图:
    把TCP/ip协议开启   就是后面的状态栏是已启用。她要求重启服务   可以点击第一个sql server服务重启启动那些正在运行的服务,----------我觉得你应该明白。。实在不行你也可以重启电脑呀哈哈!!!
    第二个是端口问题  建议使用原来默认端口,因为不用改呀!!省的麻烦!一般那个端口不会被占用的,如果要改的话把TCP/ip的所有Ip改成一样的端口:不明白看下图:
     
     
    下面是驱动问题:下载驱动包!
    https://pan.baidu.com/s/1hsb6VK4   Microsoft SQL Server JDBC Driver 3.0.zip 这是Microsoft SQL Server JDBC Driver驱动你也可以去官网下载,毕竟与时俱进可能更新了功能,
    打开eclipse或者ME创建JAVA项目 点击你创建的java项目-右键-构建路径-添加外部归档(上面有个小奶瓶图标)把你下载的驱动解压,添加sqljdbc4.jar这个jar包:如图
    之后你建一个类复制下面的代码运行就可以
    复制代码
    //shijiazhuangtiedaodaxue
    import java.sql.*;
    
    public class Conn
    {
        public static void main(String[] args) throws Exception
        {
            //Class.forName("com.mysql.jdbc.Driver");
            
            //一开始必须填一个已经存在的数据库
            String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=model;";   
            Connection conn = DriverManager.getConnection(url, "sa", "123456");// 连接数据库
            Statement stat = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
            ResultSet resultSet=stat.executeQuery("select * From master.dbo.sysdatabases where name='hello'");
            if (resultSet.next()) {  
                System.out.println("table exist!");  
                //查询数据
                stat.close();//关闭原来的对象
                conn.close();//关闭原来的链接
                url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=hello;";
                conn = DriverManager.getConnection(url, "sa", "123456");// 连接数据库如果你的密码不是123456是要改的默认sa用户不用改的
                stat = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
                
                ResultSet result = stat.executeQuery("select * from SQLtest");
                while (result.next())
                {
                    System.out.println("学号 "+result.getInt("id") + " 名字 " + result.getString("name")+" 年龄 "+result.getInt("Age"));
                }
                
                //关闭数据库
                result.close();
                stat.close();
                conn.close();
                
                
                
            }else{  
                //创建数据库hello
                stat.executeUpdate("create database hello"); 
                //打开创建的数据库
                stat.close();
                conn.close();
                url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=hello;";
                conn = DriverManager.getConnection(url, "sa", "123456");// 连接数据库
                stat = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
                //创建表SQLtest
                stat.executeUpdate("create table SQLtest(id int, name varchar(80),Age int)");
                
                //添加数据
                stat.executeUpdate("insert into SQLtest values(20163678, '胡粑粑',18)");
                stat.executeUpdate("insert into SQLtest values(20163679, '李麻麻',19)");
                stat.executeUpdate("insert into SQLtest values(20163620, '习哒哒',20)");
             System.out.println("create table success!");  
             ResultSet result = stat.executeQuery("select * from SQLtest");
                while (result.next())
                {
                    System.out.println("学号 "+result.getInt("id") + " 名字 " + result.getString("name")+" 年龄 "+result.getInt("Age"));
                }
                
                //关闭数据库
                result.close();
                stat.close();
                conn.close();
            }  
            
            
        }
        
        
        
    }
    复制代码

    里面会为你建一个数据库和表,并读出里面的内容,如果表存在则直接读出里面的内容,自己写的代码,还是新手,代码没那么精简。。。勿喷

    如果你安装时没有创建密码需要创建密码

    如图:

    点安全性-登录名-打开登陆属性-按照图中的操作改成你需要的密码.....

    查看你的登陆属性第四个选项---   状态是不是启用和授予--如果不是改成启用和授予。

    然后重新打开SQL Server Management Studio 使用SQL server身份验证登陆 账户为sa 密码是你自己设的如果登陆成功,证明你密码修改成功

    1准备JDBC驱动
    驱动下载地址
    选择sqljdbc_7.2.2.0_chs.exe下载
    接下来打开,设置路径,点击"unzip",解压到任意目录。
    解压出的文件夹中有很多文件,但我们只需要三个“mssql-jdbc-7.2.2.jre8.jar”,“mssql-jdbc-7.2.2.jre11.jar”,“sqljdbc_auth.dll”(dll有两种,64位系统使用x64文件夹下的,32位用x86下的)
    将“mssql-jdbc-7.2.2.jre8.jar”,“mssql-jdbc-7.2.2.jre11.jar”移动到java工程的lib文件夹下,之后在工程中导入对应java版本的jar
    将“sqljdbc_auth.dll”移动到java安装目录JDKin下

    2数据库设置
    打开Sql Server配置管理器

    网络配置->MSSQLSERVER->TCP/IP,启动TCP/IP
    接下来右键TCP/IP->属性->IP地址,将IP0,IP10,IPALL改为如下图属性

    应用设置后,重启SQL服务器,如下图

    重启数据库后要检查1433端口是否打开
    在cmd里输入netstat -an|findstr 1433

    输出为下图时表示1433端口开启

    2.java代码#

    代码中的IPv4地址可以在cmd中用ipconfig得到

    Copy
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    class JDBCTest {
        public static void main(String[] args) {
            String connectionUrl =
                    "jdbc:sqlserver://(你的IPv4IP):1433;databaseName=选择的数据库;integratedSecurity=false;";
    
            try (Connection con = DriverManager.getConnection(connectionUrl, "数据库用户名", "密码");
                 Statement stmt = con.createStatement();) {
                String SQL = "SELECT TOP 10 * FROM uDept;(这里为输入的SQL语句)";
                ResultSet rs = stmt.executeQuery(SQL);
                while (rs.next()) {
                    System.out.println(rs.getString("表中的列名"));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    package connect;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class SqlServerTest {
    	public static void main(String[] args) {
    		try {
    	        //一开始必须填一个已经存在的数据库
    	        String url = "jdbc:sqlserver://xxxxxip:1433;DatabaseName=xxxxx;";   
    	        Connection conn = DriverManager.getConnection(url, "sa", "xxxx");// 连接数据库
    	        Statement stat = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
    	        ResultSet resultSet=stat.executeQuery("select * From ZKECO.dbo.ipos_meal");
    	        ResultSetMetaData md = resultSet.getMetaData();
    	        List list = new ArrayList();
    	        int columnCount = md.getColumnCount();
    	        while (resultSet.next()) {
    	            Map rowData = new HashMap();
    
    	            for (int i = 1; i <= columnCount; i++) {
    	                rowData.put(md.getColumnName(i), resultSet.getObject(i));
    
    	            }
    
    	            list.add(rowData);
    	        }
    	        System.out.println("list====="+list);
    	        //关闭数据库
            	resultSet.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
     
    	}
    
    }
    

      

  • 相关阅读:
    COPY SAP 标准gui状态
    销售类型转换
    SAP数据表相关
    T_CODE I18N
    SAP-Function
    MLGBZ
    爷爷的烟斗
    使用 Composer 查看 FastAdmin 项目 组件的版本
    FastAdmin 后台前端后端组件说明(待续)
    FastAdmin 在 Nginx 中的配置
  • 原文地址:https://www.cnblogs.com/xianz666/p/14297619.html
Copyright © 2020-2023  润新知