做项目,客户想让金蝶K3系统能访问到Oracle数据库;
Ps:JDK1.7以前有支持ODBC的jar包,JDK1.8之后需要另外找jar包;
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.PreparedStatement; 4 import java.sql.ResultSet; 5 6 public class MainApp { 7 8 public static void main(String[] args) { 9 getConn(); 10 } 11 12 private static void getConn() { 13 //创建连接对象 14 Connection ct = null; 15 //创建用于发生sql语句的对象 16 PreparedStatement ps = null; 17 //创建用于接受结果集的对象 18 ResultSet resultSet = null; 19 //构造函数 20 { 21 try { 22 //加载驱动 23 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 24 //得到连接 25 ct = DriverManager.getConnection("jdbc:odbc:SQLEXPRESS", "sa", "password"); 26 //进行crud操作 27 //查询操作 28 ps = ct.prepareStatement("select * from dbo.user_info"); 29 //将结果输入到结果集中 30 resultSet = ps.executeQuery(); 31 //循环输出 32 while (resultSet.next()) { 33 int id = resultSet.getInt("id"); 34 String name = resultSet.getString("name"); 35 //String sex = resultSet.getString("sex"); 36 byte[] sex = resultSet.getBytes("sex"); // 解决中文乱码问题 37 int age = resultSet.getInt("age"); 38 //String address = resultSet.getString("address"); 39 byte[] address = resultSet.getBytes("address"); // 解决中文乱码问题 40 //输出结果 41 System.out.println(id + " " + name + " " + new String(sex, "gbk") + " " + age + " " + new String(address, "gbk")); 42 } 43 } catch (Exception e) { 44 e.printStackTrace(); 45 } finally { 46 try { 47 //关闭资源 48 if (resultSet != null) { 49 resultSet.close(); 50 } 51 if (ps != null) { 52 ps.close(); 53 } 54 if (ct != null) { 55 ct.close(); 56 } 57 58 } catch (Exception e2) { 59 e2.printStackTrace(); 60 } 61 62 63 } 64 65 } 66 } 67 68 }