import java.sql.*
/**
* @功能: 一个JDBC的本地化API连接类,封装了数据 *** 作方法,只用传一个SQL语句即可
* @作者: 李开欢
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 这里可以将常量全部放入另一个类中,以方便修改
*/
private static Connection conn
private static Statement ps
private static ResultSet rs
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433DatabaseName=mydb"
private static final String USER ="sa"
private static final String PASS = "sa"
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection()
}
public static Connection getConnection(){
System.out.println("连接中...")
try {
Class.forName(ConnectionDemo.DRIVER)
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS)
System.out.println("成功连接")
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return conn
}
public static Statement getStatement(String sql){
System.out.println("执行SQL语句中...")
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql)
System.out.println("执行完查询 *** 作,结果已返回ResultSet集合")
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql)
System.out.println("已执行完毕删除 *** 作")
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql)
System.out.println("已执行完毕增加 *** 作")
}else{
ps.executeUpdate(sql)
System.out.println("已执行完毕更新 *** 作")
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return ps
}
public static ResultSet getResultSet(){
System.out.println("查询结果为:")
return rs
}
public static void closeConnection(){
System.out.println("关闭连接中...")
try {
if (rs != null) {
rs.close()
System.out.println("已关闭ResultSet")
}
if (ps != null) {
ps.close()
System.out.println("已关闭Statement")
}
if (conn != null) {
conn.close()
System.out.println("已关闭Connection")
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection()
String sql = "delete from type where id = 1"
ConnectionDemo.getStatement(sql)
String sql2 = "insert into type values(1,'教学设备')"
ConnectionDemo.getStatement(sql2)
String sql1 = "select * from type"
ConnectionDemo.getStatement(sql1)
ResultSet rs = ConnectionDemo.getResultSet()
System.out.println("编号 "+"类型")
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ")
System.out.println(rs.getString(2))
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
ConnectionDemo.closeConnection()
}
}
java中使用jdbc连接sql server数据库步骤:1.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar
设置SQLEXPRESS服务器:
a.打开SQL Server Configuration Manager ->SQLEXPRESS的协议 ->TCP/IP
b.右键单击启动TCP/IP
c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e.关闭SQL Server Configuration Manager
打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
打开Eclipse
a.新建工程->Java ->Java project,起名为Test
b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar
c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中
编写Java代码来测试JDBC连接SQL Server数据库
import java.sql.*
public class Test {
public static void main(String[] srg) {
//加载JDBC驱动
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433DatabaseName=sample"
String userName = "sa"//默认用户名
String userPwd = "123456"//密码
Connection dbConn
try {
Class.forName(driverName)
dbConn = DriverManager.getConnection(dbURL, userName, userPwd)
System.out.println("Connection Successful!")//如果连接成功 控制台输出
} catch (Exception e) {
e.printStackTrace()
}
}
}
执行以后就可以连接到sample数据库了。
首先确保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:54364databaseName=masterIntegratedSecurity=True"
Connection con = DriverManager.getConnection(url)
在SQL Server Browser服务开启的情况下也可以通过服务名连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
String url = "jdbc:sqlserver://localhost\\SQLEXPRESSdatabaseName=masterIntegratedSecurity=True"
Connection con = DriverManager.getConnection(url)
3.身份验证模式
SQL Server默认使用Windows身份验证模式,这也是官方推荐的模式,安全性更高。上面的连接例子就是采用的Windows认证。如果要使用混合认证模式,需要下载SQL Server Management Studio,并通过SQL Server Management Studio修改认证模式为混合认证模式。
SQL Server Management Studio的下载地址
修改SQL Server认证模式的方法
混合认证模式下,可以由数据库进行认证,连接时需要提供用户名和密码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
String url = "jdbc:sqlserver://localhost:54364databaseName=master"
Connection con = DriverManager.getConnection(url,"user","password")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)