Java连库之SQLsever
一、SQLSEVER的安装
读者若未安装SQL sever,可通过微信关注“软件安装管家”公众号,回复SQL即可出现安装教程。(谨慎安装,安装过程较长,请勿中途关机,若安装失败,及时查明原因修改,不到万不得已不要卸载重装)
二、集成环境的安装
可关注微信公众号“软件安装管家”,在公众号内回复相关软件名称。常用的为IDEA和eclipse。
三、JDBC的下载及放置
1、下载JDBC
下载网址:https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15&viewFallbackFrom=
2、JDBC驱动程序的放置
笔者下载的JDBC版本为7.4.1。
将下载好后的sqljdbc_7.4.1.0_chs.tar.gz压缩包进行解压得到sqljdbc_7.4.1.0_chs文件夹。
打开sqljdbc_7.4.1.0_chs文件夹下的sqljdbc_7.4\chs\auth\x64路径。
将sqljdbc_auth.dll文件复制到C:\Windows\System32中
打开sqljdbc_7.4.1.0_chs文件夹下的sqljdbc_7.4\chs路径,找到mssql-jdbc-7.4.1.jre8.jar(根据自己电脑Java的版本选择对应的JBDC版本,笔者采用7.4.1版本)
可将mssql-jdbc-7.4.1.jre8.jar文件放于易于找到的位置,笔者将其置于D:\SQLCONNECT\JDBC\SQLSEVER路径下。
3、设置JDBC的环境变量(可设置也可不设置)
四、将JDBC文件导入集成环境
1、在IDEA中导入外部包
2、在eclipse中导入外部包
五、SQL Sever实例设置默认端口1433
数据库的实例名是指每个数据库的名称,应该是在数据库安装的时候确定的,分为默认实例和命名实例。在安装时,选择默认实例,那么就是用计算机的名字来作为实例名,客户端连接的时候, 可直接填数据库服务器的机器名或IP;如果安装时,改了实例名,也就是命名实例,那么客户端在连接时,要使用机器名加实例名来进行标识,计算机名\实例名。
由于一个电脑上可以安装多个SQL Server,因此在一台计算机上可以运行多个命名实例,这种情况下,每个实例都是独立运行,互不影响,客户端可以根据需要连接到不同的实例。为了区分它们,设置了实例名,每个实例相当于是一个虚拟的SQL Server服务器。
查看实例名的方法是从服务中查看。 服务可以从任务管理器中打开,也可以从菜单或命令(services.msc)中打开。默认实例名称为(MSSQLSERVER)。
读者在使用JDBC连接数据库在数据库的配置工具里面就不用设置SQLEXPRESS的协议里面的内容,只需设置MSSQLSERVER就好了。SQLEXPRESS(SQL Server Express )是由微软公司开发的 SQL Server的缩减版,这个版本是免费的,但有些功能不全面。有兴趣参考此博客:https://blog.csdn.net/cs_leebo/article/details/7447246
1、确定你要用的实例,从而针对具体的实例进行设置
此处点击“服务”查看运行的实例
如下图,笔者电脑在“服务”中有两个实例,笔者将SQL Sever(SQLEXPRESS)的服务禁止,仅运行SQL Sever(MSSQLSERVER)的服务。
下一步应找到开启的实例在SQL Sever中的位置,从而进行相关设置。笔者的电脑装的是SQL Sever2008和SQL Sever2017两个版本,故在服务与应用程序中出现了两个SQL Sever配置管理器,上面的是SQL Sever2008配置管理器,下面的是SQL Sever2017配置管理器,故笔者运行的2017版本对应实例配置应在下图位置:
2、设置端口
点击上图中的MSSQLSERVER的协议,启用下图红框中的三个协议,禁用VIA。
右击上图“TCP/IP”协议中的属性,得到下图
将IP1和IP10的地址改为127.0.0.1,所有IP的TCP端口改为1433。修改完之后重启“服务”中的SQL Sever(MSSQLSERVER)。
127.0.0.1是回送地址,指本地机,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。
1433端口是SQL Server默认的端口,用于供SQL Server对外提供服务。
3、用telnet命令测试1433端口是否打开
若出现telnet不是内部命令,打开控制面板->程序->启用或关闭Windows功能。
若连接成功则显示如下图片
六、修改SQL Sever登录名及密码
1、修改登录名
打开“对象资源管理器”——>“安全性”——>“登录名”,找到sa用户名,sa是super administrator的缩写,中文译名超级管理员账户,拥有所有管理权限,能够执行与管理相关的任何操作。因此sa并不是空用户名,只是有时作为预设账户出现。通常该用户要求较高的安全性,需要设置强度较高的密码。笔者认为直接用“sa”账号与Java相连比新建一个用户更好,因为它避免新建用户的权限配置问题。
右击用户“sa”可以看见“重命名”选项,读者可根据自己的喜好来更改用户名。
2、修改密码
右击用户“sa”可以看见“属性”选项,读者可根据自己的喜好来更改密码。
此处笔者已将用户名“sa”改为“xjm”。请读者注意无论你将密码改为几位数字,界面都会显示15个黑点。
每次修改完用户名登录之后,需要右击资源管理器实例,在弹出的窗口中选择停止,之后再重启。
七、连库代码
在集成环境中有JDBC驱动包的项目中新建一个名字为SQLSEVER的.java文件,再复制如下代码运行即可。注意代码中的用户名、密码、端口以及要连接的数据库(数据库要在SQL Sever中真实存在)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* @Author1: 小贱猫不贱
* @Author2: 长乐
* @Project: XJMCYIDEA
* @Package: PACKAGE_NAME
* @Filename: GetConn
* @Time: 2019-10-14 9:59
*/
public class SQLSEVER {
Connection conn=null;
static{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e){
e.printStackTrace(); }
}
public Connection getConn(){
//修改要连接的数据库,本处为XJMCY
String url="jdbc:sqlserver://localhost:1433;DatabaseName=XJMCY";
//修改用户名
String username="xjm";
//修改密码
String password="123456";
try{
conn= DriverManager.getConnection(url,username,password);
if(conn!=null){
System.out.println("数据库连接成功!");
}
}catch(SQLException e){
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
SQLSEVER getConn=new SQLSEVER();
Connection conn=getConn.getConn();
}
}
运行结果显示“数据库连接成功!”即可。