【网学网提醒】:网学会员为大家收集整理了java连接sql_server_2008的四种方法提供大家参考,希望对大家有所帮助!
Java连接sqlserver2008的四种方法
Java连接sqlserver2008数据库的方法可以分为两类,一类是通过jdbc-odbc桥,另一类是通过jdbc驱动。针对sqlserver2008的window身份验证和sqlserver身份验证方式,每一类又有两种方法。
一、jdbc-odbc桥:通过连接windows的odbc数据源来连接
数据库,因此首先要配置odbc数据源:控制面板->管理工具->数据源(ODBC),如图:
如果已经有sqlserver2008的用户数据源,则直接配置该数据源的默认数据库即可。若没有则添加:
点击完成:
数据源名称(程序中要用到)和sqlserver2008的服务器,下一步,
下一步,
选择默认的数据库,即要连接的的数据库,下一步,
完成。
1.用windows验证方式连接数据库:
加载数据库驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");连接数据库:
Stringurl="jdbc:odbc:sqlserver;";conn=DriverManager.getConnection(url);完整代码如下:
importjava.sql.SQLException;importjava.sql.Statement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;
publicclassTest{
publicstaticvoidmain(String[]args){
Connectionconn;Statementstmt;ResultSetrs;try{
//加载数据库驱动程序,对于jdbc4版本可以不用写这段代码Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundExceptionex){
System.out.println("数据库驱动加载失败");}
Stringurl="jdbc:odbc:sqlserver;";Stringsql="select*fromexa";try{
//连接数据库
conn=DriverManager.getConnection(url);//建立Statement对象
stmt=conn.createStatement();//执行数据库查询语句
rs=stmt.executeQuery(sql);while(rs.next()){
intid=rs.getInt("id");
Stringname=rs.getString("name");intage=rs.getInt("age");
System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);
}
if(rs!=null){rs.close();rs=null;}
if(stmt!=null){stmt.close();stmt=null;}if(conn!=null){conn.close();conn=null;}}
catch(SQLExceptione){
e.printStackTrace();
System.out.println("数据库连接失败");}}}
2.用sqlserver身份验证方式连接数据库:
由于安装sqlserver2008时是以windows身份验证安装的,并没有为sqlserver2008添加sqlsever身份用户,因此首先添加用
户:打开MicrosoftSQLServerManagementStudio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlserver身份验证,在“状态”项中授予连接到数据库和登录启用。右击对象资源管理器的根节点,选择属性->安全性->sqlserver和windows身份验证模式,这样就为sqlserver2008创建了以sqlserver身份验证的用户sa。加载数据库驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");连接数据库:
Stringurl="jdbc:odbc:sqlserver;";
conn=DriverManager.getConnection(url,"sa","123456");
完整代码如下:
importjava.sql.SQLException;
importjava.sql.Statement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;
publicclassTest{
publicstaticvoidmain(String[]args){
Connectionconn;Statementstmt;ResultSetrs;try{
//加载数据库驱动程序,对于jdbc4版本可以不用写这段代码Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
用户名密码
二、
catch(ClassNotFoundExceptionex){
System.out.println("数据库驱动加载失败");}
Stringurl="jdbc:odbc:sqlserver;";Stringsql="select*fromexa";try{
//连接数据库
conn=DriverManager.getConnection(url,"sa","123456");
//建立Statement对象
stmt=conn.createStatement();//执行数据库查询语句
rs=stmt.executeQuery(sql);while(rs.next()){
intid=rs.getInt("id");
Stringname=rs.getString("name");intage=rs.getInt("age");
System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);
}
if(rs!=null){rs.close();rs=null;}
if(stmt!=null){stmt.close();stmt=null;}if(conn!=null){conn.close();conn=null;}}
catch(SQLExceptione){
e.printStackTrace();
System.out.println("数据库连接失败");}}}
jdbc驱动方式:
1>.到微软官网上下载jdbc驱动包sqljdbc_3.0,解压后复制文件
sqljdbc_3.0\enu\auth\x86\sqljdbc_auth.dll到C:\Windows\System32,并将解压文件中的sqljdbc4.jar的路径添加系统环境变
量的CLASSPATH里。
2>.设置并打开sqlserver的TCP/IP端口:打开SQLServer配置管理器->SQLServer网络配置,MSSQLSERVER的协议,TCP/IP设为启用,并右击选择属性,将IP地址端口设为1433.SQLServer配置管理器->SQLNativeClient10.0配置->客户端协议->右击TCP/IP协议->默认端口1433.
3>.Eclipse创建项目并为项目添加sqljdbc4.jar驱动包。
1.用windows验证方式连接数据库:
加载数据库驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");连接数据库Stringurl=
"jdbc:sqlserver://localhost:1433;DatabaseName=test1;integratedSecurity=TRUE;";
conn=DriverManager.getConnection(url);
完整代码:
importjava.sql.SQLException;importjava.sql.Statement;
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;
publicclassTest{
publicstaticvoidmain(String[]args){
Connectionconn;Statementstmt;ResultSetrs;try{
//加载数据库驱动程序,对于jdbc4版本可以不用写这段代码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(ClassNotFoundExceptionex){
System.out.println("数据库驱动加载失败");}
Stringurl=
"jdbc:sqlserver://localhost:1433;DatabaseName=test1;integratedSecurity=TRUE;";
Stringsql="select*fromexa";try{
//连接数据库
conn=DriverManager.getConnection(url);//建立Statement对象
stmt=conn.createStatement();//执行数据库查询语句
rs=stmt.executeQuery(sql);while(rs.next()){
intid=rs.getInt("id");
Stringname=rs.getString("name");intage=rs.getInt("age");
System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);
}
if(rs!=null){rs.close();rs=null;}
if(stmt!=null){stmt.close();stmt=null;}if(conn!=null){conn.close();conn=null;}}
catch(SQLExceptione)
}}
{
e.printStackTrace();
System.out.println("数据库连接失败");}
2.用sqlserver身份验证方式连接数据库:
加载数据库驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");连接数据库Stringurl=
"jdbc:sqlserver://localhost:1433;DatabaseName=test1;";
conn=
DriverManager.getConnection(url,"sa","123456");
完整代码:
importjava.sql.SQLException;importjava.sql.Statement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;
publicclassTest{
publicstaticvoidmain(String[]args){
Connectionconn;Statementstmt;ResultSetrs;try{
//加载数据库驱动程序,对于jdbc4版本可以不用写这
段代码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(ClassNotFoundExceptionex){
System.out.println("数据库驱动加载失败");}
Stringurl=
"jdbc:sqlserver://localhost:1433;DatabaseName=test1;";
Stringsql="select*fromexa";try{
//连接数据库
conn=DriverManager.getConnection(url,"sa","123456");
//建立Statement对象
stmt=conn.createStatement();//执行数据库查询语句
rs=stmt.executeQuery(sql);while(rs.next()){
intid=rs.getInt("id");
Stringname=rs.getString("name");intage=rs.getInt("age");
System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);
}
if(rs!=null){rs.close();rs=null;}
if(stmt!=null){stmt.close();stmt=null;}if(conn!=null){conn.close();conn=null;}}
catch(SQLExceptione){
e.printStackTrace();
System.out.println("数据库连接失败");}}}