关于Java连接SQL Sever数据库
1.前提条件
需要:
1>本机上装有SQL Sever数据库(2005、2008或者更高版本)
2>eclipse或者myeclipse开发环境
3>jar文件(名为sql_jdbc.jar或者sql_jdbc4.jar),jar文件内有JDBC相关类文件
4>dll文件(名为sqljdbc_auth.dll),dll动态链接库文件内有与windows系统相关的内容
---需要的dll文件和jar文件在底部下载链接中给出,至此前期准备工作完毕,可以开始DBA项目的开发了
2.编码
例程序源代码如下:
import java.sql.*;
public class testDB {
/**
* @param args
*/
public static void main(String[] args) {
String JDriver=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库驱动
String connectDB=
"jdbc:sqlserver://localhost;integratedSecurity=true;DatabaseName=myDB";
//数据源注意IP地址和端口号,此处使用默认端口1433,可以省略
//把myDB换为本机上已存在的数据库名即可
try
{
Class.forName(JDriver);//加载数据库驱动,返回给定字符串名的类
}catch(ClassNotFoundException e)
{
//e.printStackTrace();
System.out.println("加载数据库驱动失败");
System.exit(0);
}
System.out.println("数据库驱动加载成功");
try
{
String user="sa";//你自己创建的用户名字和密码
String password="mima";
//sa用户为SQL Sever里默认的用户,其密码为Administrator的密码
Connection con=
DriverManager.getConnection(connectDB,user,password);//连接数据库对象
System.out.println("连接数据库成功");
Statement stmt=con.createStatement();//创建SQL命令对象
//查
System.out.println("查询");
System.out.println("开始读取数据");
//返回SQL语句查询结果集(集合)
ResultSet rs=stmt.executeQuery("SELECT * FROM tb");
//循环输出每一条记录
while(rs.next())
{
System.out.println(rs.getString("ID")+"\t"+rs.getString("Name"));
//输出字段的值,getString()方法的参数为字段名(即表的列名)
}
System.out.println("读取完毕");
//关闭连接
stmt.close();//关闭命令对象连接
con.close();//关闭数据库连接
}
catch(SQLException e)
{
e.printStackTrace();
//System.out.println("数据库连接错误");
System.exit(0);
}
}
}
3.为项目添加jar文件和dll文件
1>在eclipse或者myeclipse左边的项目栏里找到当前项目(本例中项目名为testDB),右键单击项目名,选择Build Path-->Configure Build Path-->Add External Library,找到jar文件,OK
2>打开 我的电脑 找到dll文件(需要使用对应版本的dll,32位/64位)直接拖动dll文件到项目名称(不是src而是项目名!)
4.运行项目,测试无误
5.可能遇到的异常
1>com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: Connection refused: connect.
异常分析:出现此异常是因为SQL Sever相关服务没有开启
解决方法:开始-->所有程序-->Microsoft SQL Sever-->配置工具-->SQL Sever配置管理器
右键单击SQL Sever(SQLEXPRESS)-->启动
右键单击SQL Sever(MSSQLSEVER)-->启动
2>WARNING: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。
问题分析:为了数据库安全使用集成方式连接数据库(连接字符串中的integratedSecurity=true;部分),缺少dll文件
解决方案:参见第3步《为项目添加jar文件和dll文件》,按照提到的方法添加dll文件
特别说明:网上有些sqljdbc_auth.dll文件是不能用的,若dll文件有问题,即便配置完全正确也会出现此错误!
3>加载数据库驱动失败
问题分析:缺少jar文件
解决方案:同上
6.特别说明:
上面演示的是混合模式的身份验证(需要用户名以及对应密码)
若只用单纯的Windows身份验证来登录数据库,只需要删掉DriverManager.getConnection(connectDB,user,password);方法的后两个参数即可
本机测试无误
关于Java连接SQL Sever数据库的更多相关文章
- java连接sql server数据库(使用用户sa)
一.安装数据库相关软件 sql server management studio是管理sql server数据库的软件,想要使用需到微软官网下载安装sql server,然后再安装sql server ...
- R和python连接SQL sever 数据库操作
在R的使用中,为了方便提取数据, 我们经常要进行数据库进行操作,接下来我们尝试使用R进行连接数据. 这里我们使用R中的RODBC进行操作, 首先,我们需要先配置ODBC资源管理器 通过任务管理器或者w ...
- java连接sql server数据库
1.新建项目,导入包 sqljdbc4.jar或sqljdbc.jar(jdk1.7版本) 2.新建类文件ConnectionDB.java package hello; import java.s ...
- Java 连接 SQL Server 数据库
//连接数据库 public Connection getConnection(){ //url为绝对路径 String url="jdbc:sqlserver://127.0.0.1:14 ...
- c#vs连接SQL sever数据库入门操作
对于需要连接数据库的项目,可以参考的简单初级代码.实现打开数据库,读入数据功能 using System; using System.Collections.Generic; using System ...
- navicat连接SQL Sever数据库出现的问题
1.navicat 连接sqlserver提示要安装 sql server native client 解决办法:在navicat安装目录下有个sqlncli_x64.msi文件,双击安装一直下一步就 ...
- Java 链接SQL Server 数据库
1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...
- jTDS Java连接SQL Server 2000数据库
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...
- Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统
Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...
随机推荐
- 140. Word Break II (String; DP,DFS)
Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each ...
- RedisUtil工具类
转载:http://blog.csdn.net/liuxiao723846/article/details/50401406 1.使用了jedis客户端,对redis进行了封装,包括: 1)使用了re ...
- PAT 1047 编程团体赛(代码)
1047 编程团体赛(20)(20 分) 编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出 ...
- ffmpeg 入门教程
1.在terminal,安装ffmpeg开源库 #brew install ffmpeg 2.新建一个目录first_ffmpeg,并在first_ffmpeg目录下新建ffmpeg目录 3.拷贝/u ...
- Jmeter中控制某一段脚本失败后重复执行,并在每个HTTP Request名字中加上循环次数
================================================== 1.While Controller之前有一个BeanShell Sampler,用于Init N ...
- asio 广播代码示例
代码网络收集 修改了一个编译的小问题 客户端 // Client.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...
- bootstrap-datepicker 与bootstrapValidator同时使用时,选择日期后,无法正常触发校验
bootstrap-datepicker 与bootstrapValidator同时使用时,选择日期后,无法正常触发校验 (解决办法) http://blog.csdn.net/biedazhangs ...
- tomcat中如何配置虚拟路径
第一步:打开server.xml配置文件.在Host节点里写上该行代码: <Context path="/upload" docBase="E:\upload&qu ...
- 2018.10.18 bzoj1185: [HNOI2007]最小矩形覆盖(旋转卡壳)
传送门 不难看出最后的矩形一定有一条边与凸包某条边重合. 因此先求出凸包,然后旋转卡壳求出当前最小矩形面积更新答案. 代码: #include<bits/stdc++.h> #define ...
- js获取年月日时分秒星期
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...