关于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,包括 ...
随机推荐
- 为什么JAVA要提供 wait/notify 机制?是为了避免轮询带来的性能损失
wait/notify 机制是为了避免轮询带来的性能损失. 为了说清道理,我们用“图书馆借书”这个经典例子来作解释. 一本书同时只能借给一个人.现在有一本书,图书馆已经把这本书借了张三. 在简单的s ...
- collections系列之Counter
collections模块中有一个叫做Counter的类,该类的作用就是计数器,Counter是对dict的加工,所有Counter继承了dict的方法 1.创建一个Counter,需要import ...
- ViewPager欢迎界面
一.几张图片组成欢迎界面 下方有几个点对应每个图片 当图片被选中时对应的点会变亮,当对应的点被点击时也会切换到指定画面 以下是代码 package com.example.viewpager_1; i ...
- maven打包部署到私服
转载地址:http://blog.csdn.net/stormragewang/article/details/43407471 心得 apache的开源maven插件对我们使用maven进行打包,发 ...
- Legendre多项式
Legendre多项式 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Legendre多项式的递归公式
- linux永久关闭防火墙
- 调用数据库--stone
from Mysql_operate_class import mysql def saveMysqlData(sql, dbname="algorithm"): pym = my ...
- win7 一切软件都安装不上 解决 把他卸掉
KB2962872 控制面板,添加删除程序,查看已更新
- gitlab VS github
gitlab 和 github的比较 GitLab - 基于Git的项目管理软件 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.
- jquery ui中的dialog,官网上经典的例子
jquery ui中的dialog,官网上经典的例子 jquery ui中dialog和easy ui中的dialog很像,但是最近用到的时候全然没有印象,一段时间不用就忘记了,这篇随笔介绍一下这 ...