jdbc连接数据库和jdbc-odbc桥接方式连接数据库

时间:2021-04-10 21:50:32
//这种方式为jdbc直接连接,需要添加jar文件
1
package com.howe2; 2 import java.sql.*; 3 4 public class test2 { 5 public static void main(String [] args) 6 { 7 PreparedStatement ps = null; 8 Connection con = null; 9 try 10 { 11 //1. 加载驱动 12 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 13 //2. 获得连接 14 con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName = howe", "sa", "sa"); 15 //3. 创建PreparedStatement 16 ps = con.prepareStatement("insert into teacher values(?,?,?)");//一般用? 表示 17 //给?赋值 18 ps.setString(1, "t010"); 19 ps.setString(2, "wek"); 20 ps.setString(3, "Shanghai"); 21 //执行 22 int i = ps.executeUpdate(); 23 if(i == 1) 24 { 25 System.out.println("insert OK"); 26 } 27 else 28 System.out.println("not OK"); 29 }catch(Exception e) 30 { 31 e.printStackTrace(); 32 } 33 finally 34 { 35 try { 36 //关闭资源 37 if(ps != null) 38 ps.close(); 39 if(con != null) 40 con.close(); 41 } catch (SQLException e) { 42 // TODO Auto-generated catch block 43 e.printStackTrace(); 44 } 45 } 46 } 47 }

 这种方式为jdbc-odbc桥接的方式,不需要添加jar文件,但是需要配置数据源,配置数据源的步骤: 控制面板-> 系统和安全->管理工具->数据源(ODBC),然后双击打开,在用户(DSN)下带你及添加, 选择SQL Server, 然后输入一个名字,描述不用输入,服务器填“localhost”或者".", 点击下一步,选择数用用户名和密码的SQL Server验证,然后输入登录数据库时的用户名和密码,如果连接不上,出现错误的话,就要点客户端配置,把动态选择端口去掉,默认1433端口,这个前提是1433端口已经打开,可以在cmd下用netstat -an命令查看1433端口是否打开,如果没有打开的话,再去配置SQL Server的TCP/IP, 然后完成了之后,就简单了,下面是代码:

 1 package com.howe;
 2 import java.sql.*;
 3 public class test1 {
 4 
 5     public static void main(String[] args) {
 6         Connection con = null;
 7         Statement sm = null;
 8         try
 9         {
10             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
11             con = DriverManager.getConnection("jdbc:odbc:mytest", "sa", "sa");
12             sm = con.createStatement();
13             
14             int result = sm.executeUpdate("insert into teacher values('t008','zhang','qingdao')");
15             if(result == 1)
16                 System.out.println("insert success");
17             else
18                 System.out.println("insert error");
19             
20         }catch(Exception e)
21         {
22             e.printStackTrace();
23         }finally
24         {
25             //close resource
26             try {
27                 if(sm != null)
28                     sm.close();
29                 if(con != null)
30                     con.close();
31             } catch (SQLException e) {
32                 // TODO Auto-generated catch block
33                 e.printStackTrace();
34             }
35         }
36 
37     }
38 
39 }