怎么使用JDBC连接SQL Server

 我来答
千锋教育
2016-04-24 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
首先确保SQLSERVER服务正在运行,并可以允许远程访问连接

然后按如下步骤进行连接
1.安装JDBC驱动
1)下载JDBC驱动

2)执行sqljdbc_4.0.2206.100_chs.exe解压驱动文件

3)拷贝以下目录中的sqljdbc_auth.dll到Windows的System32目录。对x64的机子,x64的dll拷到C:\Windows\System32,x86的dll拷到C:\Windows\SysWOW64目录。
Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\auth\

2.在Java程序中连接SQL Server
classpath中加上安装好的SQL Server jdbc jar包
Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\sqljdbc4.jar

连接SQL Server的JDBC代码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String url = "jdbc:sqlserver://localhost:54364;databaseName=master;IntegratedSecurity=True";

Connection con = DriverManager.getConnection(url);
在SQL Server Browser服务开启的情况下也可以通过服务名连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String url = "jdbc:sqlserver://localhost\\SQLEXPRESS;databaseName=master;IntegratedSecurity=True";

Connection con = DriverManager.getConnection(url);

3.身份验证模式

SQL Server默认使用Windows身份验证模式,这也是官方推荐的模式,安全性更高。上面的连接例子就是采用的Windows认证。如果要使用混合认证模式,需要下载SQL Server Management Studio,并通过SQL Server Management Studio修改认证模式为混合认证模式。

SQL Server Management Studio的下载地址
http://www.microsoft.com/zh-cn/download/details.aspx?id=8961
修改SQL Server认证模式的方法
http://technet.microsoft.com/zh-cn/library/ms188670(v=sql.105).aspx

混合认证模式下,可以由数据库进行认证,连接时需要提供用户名和密码

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String url = "jdbc:sqlserver://localhost:54364;databaseName=master";

Connection con = DriverManager.getConnection(url,"user","password");
xiangjuan314
2016-04-24 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2773万
展开全部
前期准备,具体包括
1]
下载安装SQL Server(本文以SQL Server 2012为例)
2]
下载Microsoft JDBC Driver for SQL Server
3]
下载并且安装集成开发环境 Eclipse IDE for Java EE Developers(可选)
准备用于查询的数据库和数据表
打开SQL Server Manage Studio打开SQL Server 2012
新建一个名为UniversityDB的数据库
新建一个名为course的表并且插入如下记录

在Eclipse中建立工程并且进行配置
打开Eclipse
新建一个Dynamic Web Project
命名为JDBCdemo
将之前下载的sqljdbc4.jar复制到WEB-INF/lib目录下。
如果WEB-INF目录下没有lib目录,就手动创建。
右键单击工程名,在弹出的菜单中选择Build Path

如果选择 add JARs
然后选中sqljdbc4.jar之后点确定。
在工程目录的WebContent目录下新建一个JSP文件
添加如下代码
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
Statement sql;
ResultSet rs;
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动

String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=UniversityDB"; //连接服务器和数据库sample

String userName = "sa"; //默认用户名

String userPwd = "wkt19910602"; //密码

Connection dbConn;

try {

Class.forName(driverName);

dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
sql=dbConn.createStatement();
rs=sql.executeQuery("select*from course");

System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!

out.println("<table Border>");
out.println("<tr><td colspan=8 align=center>用户数据</td></tr>");
out.println("<tr>");
out.println("<td width=100>CourseId</td>");
out.println("<td width=100>Title</td>");
out.println("<td width=100>Department</td>");
out.println("<td width=100>Credits</td>");
out.println("</tr>");
while(rs.next())
{
out.println("<tr>");
out.println("<td>"+rs.getString(1)+"</td>");
out.println("<td>"+rs.getString(2)+"</td>");
out.println("<td>"+rs.getString(3)+"</td>");
out.println("<td>"+rs.getString(4)+"</td>");
out.println("</tr>");
}
out.println("</table>");
dbConn.close();
} catch (Exception e) {

e.printStackTrace();

}
%>
</body>
</html>
最后还需要配置环境变量
将sqljdbc4.jar加入到classpath中。
具体方法如下(以win7为例)
计算机=>右键选择属性=>选择高级系统设置=>选择环境变量=>在classpath中添加sqljdbc4.jar的所在位置。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanlingxueyu
2016-04-26 · TA获得超过483个赞
知道小有建树答主
回答量:508
采纳率:50%
帮助的人:165万
展开全部
Class.forName()
Properties Properties.getProperty()
DriverManager
PreparedStatement Statement

**链接数据库**
mySQL(oracle,myserver){

1.载入JDBC 驱动程序
Class.forName("com.mysql.jdbc.Driver"); [oracle.jdbc.driver.OracleDriver]
//导入jar包(com.mysql.jdbc.Driver)Driver.class路径

2.提供JDBC URL
String url="jdbc:mysql://192.168.1.106:3306/wj?user=root&password=123";
[jdbc:oracle:thin:@192.168.1.106:1521:orcl?user=sys as sysdba&password=a123]
//jdbc[协议]:数据库mysql://主机名称:端口/数据库名称?参数=值&参数=值

3.取得Connection
Connection con=DriverManager.getConnection(url);

}

properties {//一对一键值对 字符串

mysql: driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://192.168.1.106\:3306/wj?uesUnicode=true&characterEncoding=utf-8
user=root
password=123

oracle:driver=oracle.jdbc.driver.OracleDriver
url=jdbc\:oracle\:thin\:@192.168.1.106\:1521\:orcl
user=sys as sysdba
password=a123

}

代码 Properties p=new Properties();
File file =new File("./oracle.properties");//properties文件路径

FileInputStream f= new FileInputStream(file);
p.load(f);

Class.forName(p.getProperty("driver"));

Connection con=DriverManager.getConnection(p.getProperty("url"), p.getProperty("user"), p.getProperty("password"));
System.out.println(con);

***操作数据库***

Statement st=createStatement()//创建接口
String sql="delete from student where id=13";//写sql语句

[非查询]: st.executeUpdate(sql语句);(返回值 int) [非查询] //写入数据库

[查询]: st.executeQuery(sql语句);(返回值 查询集合图)[查询]
ResultSet rs= st.executeQuery(sql语句);
while(rs.next()){ System.out.println( rs.getInt(1)+"\t"+rs.getString(2));}

代码: (preparedStatement)
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名");
String mane =sc.next();
System.out.println("请输入密码");
String password=sc.next();
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Connection con=DriverManager.getConnection ("jdbc:mysql://192.168.1.106:3306/wj", "root", "123");
String sql=" select * from login where loginname=? and loginpwd=?";
PreparedStatement ps= con.prepareStatement(sql);
ps.setString(1, mane); ps.setString(2, password);

ResultSet rs=ps.executeQuery();

if(rs.next()){
System.out.println("登陆成功");
}else{
System.out.println("登录失败");
}

} catch (SQLException e) {

e.printStackTrace();
}

}

批次处理:

executeBatch();
addBatch();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
度味事0S
2016-10-13 · TA获得超过1850个赞
知道大有可为答主
回答量:1222
采纳率:90%
帮助的人:381万
展开全部
首先,需要知道的是JDBC仅仅是一个接口,通过JDBC去加载对应的驱动程序,进而来操作数据库。换句话说,JDBC需要依赖对应数据库的驱动程序才可以访问数据库。所以,在机器上安装了一个数据库后,应用程序是不能直接操作数据库的,只有安装了对应的驱动程序后,应用程序才可以通过驱动程序去操作数据库。
JDBC全称:
Java Data Base Connectivity(java数据库连接)
组成JDBC的2个包:
Java.sql和javax.sql
开发JDBC应用时除了需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式