利用jdbc连接sqlserver2008(打开用户,配置远程登录)

来源:互联网 发布:ape转换wav软件 编辑:程序博客网 时间:2024/06/05 08:51

1.       安装sqlserver2008

2.       默认情况下是windows身份登录,sa用户被禁止。

3.       通过windows身份登录到数据库,在“安全性”下,右键点击“新建登录名”,选择以sql 身份登录。

 

 

4.       右键点击服务器,选择“属性”,选择“安全性”,然后选中sql server和windows身份验证模式。

5.       配置远程登录,2008采用的是动态端口分配,打开配置管理器,修改服务端和客户端的端口为1433

6.       下载jdbc驱动,到microsoft官网下载sqljdbc2.0驱动——Microsoft SQL Server JDBC Driver 2.0.exe,很小大概就4M,解压后里面有2个Jar包,sqljdbc4.jar和sqljdbc.jar,这两个都一样,只是针对你的JDK的版本的不同(我的jdk是1.6.21,导入sqljdbc4报了一个异常,然而换了一个以前的包就好了,当出现这个Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException异常时,就是说包导错了,换包试试。)

7.       配置hibernate.properties文件(直接用jdbc也行)

## MS SQL Server

 

hibernate.dialect org.hibernate.dialect.SQLServerDialect

hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver

hibernate.connection.url jdbc:sqlserver://172.7.22.24:1433;DatabaseName=webclient

hibernate.connection.username root

hibernate.connection.password centre

 

我采用的是c3p0数据源,测试获得sessionfactory正常。

8.直接通过jdbc访问的例子,网上找的,应该是对的。

import java.sql.*;
public class javaConSQL
{
 public static void main(String[] args) 
 {
  String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎
  String connectDB=;//数据源
  "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=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="sql2008";
   Connection con=DriverManager.getConnection(connectDB,user,password);//连接数据库对象
   System.out.println("连接数据库成功");
   Statement stmt=con.createStatement();//创建SQL命令对象
   
   //创建表
   System.out.println("开始创建表");
   String query="create table TABLE1(ID NCHAR(2),NAME NCHAR(10))";//创建表SQL语句
   stmt.executeUpdate(query);//执行SQL命令对象
   System.out.println("表创建成功");
      
   //输入数据
   System.out.println("开始插入数据");
   String a1="INSERT INTO TABLE1 VALUES('1','旭哥')";//插入数据SQL语句
   String a2="INSERT INTO TABLE1 VALUES('2','伟哥')";
   String a3="INSERT INTO TABLE1 VALUES('3','张哥')";
   stmt.executeUpdate(a1);//执行SQL命令对象
   stmt.executeUpdate(a2);   
   stmt.executeUpdate(a3);
   System.out.println("插入数据成功");
   
   //读取数据
   System.out.println("开始读取数据");
   ResultSet rs=stmt.executeQuery("SELECT * FROM TABLE1");//返回SQL语句查询结果集(集合)
   //循环输出每一条记录
   while(rs.next())
   {
    //输出每个字段
    System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME"));
   }
   System.out.println("读取完毕");
   
   //关闭连接
   stmt.close();//关闭命令对象连接
   con.close();//关闭数据库连接
  }
  catch(SQLException e)
  {
   e.printStackTrace();
   //System.out.println("数据库连接错误");
   System.exit(0);
  }
 }
}
9.请关闭防火墙。

 

原创粉丝点击