300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java(Jdk1.8)通过ODBC 连接数据库(以SQLServer为例)

Java(Jdk1.8)通过ODBC 连接数据库(以SQLServer为例)

时间:2020-08-24 08:21:05

相关推荐

Java(Jdk1.8)通过ODBC 连接数据库(以SQLServer为例)

由于JDK1.8移除了ODBC相关的部分,而将jdk1.8改为1.7也十分复杂(需要修改很多代码),因此可以采用以下的方案

一、配置ODBC数据源(Windows)

打开ODBC数据源设置(这里注意根据数据源选择对应的设置),选错会导致无法连接到数据库,我选择的是64位的。(如果不确定也可以先选择一种试一下,不成功的话换另一种)

系统DNS中单击添加按钮

选择SQL Server Native Client 10.0

分别输入数据源名(数据库名)和IP地址

输入连接数据库的用户名和密码

单击下一步,到如下页面后,单击测试数据源

出现如下提示则说明测试成功

二、在Java8中使用JDBC-ODBC Bridge

需要的文件也可以从以下链接中获取:

链接:/s/1LywdcvzXypazELd0zkwBLg

提取码:r1s2

下载JDK 7 或者 JRE 7。(下载地址)在JRE\lib目录找到rt.jar。直接解压或者重命名为rt.zip后解压。复制sun\jdbcsun\security\action并保持文件夹的结构。应保留如下所示的文件夹结构:

Sun --> Security --> Action--> JDBC

打开一个CMD窗口,在sun文件夹的父目录,运行如下命令:jar -cvf jdbc.jar sun

这个命令会生成一个名为jdbc.jar的文件。

jdbc.jar放到jdkjrelib目录下。

PS: 如果不成功,请尝试放在jdkjrelibext目录下!目前我是windows环境的jdk放在前者可以,linux放在后者可以。

复制jdbcodbc.dll(下载地址)到jdkjre\bin目录下。

注意:以上使用的jre都是指jdk中的jre目录

重启项目。

三、连接SQLServer

public static void main(String[] args) throws SQLException, ClassNotFoundException {Class<?> aClass = Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");// 其中alicia为数据源名 String url = "jdbc:odbc:alicia";// 其中sa为用户名,alicia为密码Connection connection = DriverManager.getConnection(url,"sa","alicia");}//装载数据库public MyOdbcConnection() throws Exception {Class<?> aClass = Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println(aClass);}//建立数据库连接public Connection getConnection(String url, String username, String password) throws SQLException {// 其中alicia为数据源名 String url = "jdbc:odbc:alicia";con = DriverManager.getConnection(url, username, password);return con;}//关闭数据库连接public void closeConnection(Connection con) {try {if (con != null) {con.close();}} catch (Exception e) {e.printStackTrace();}}public void closepreparedStatement(PreparedStatement prepstment) {try {if (prepstment != null) {prepstment.close();}} catch (Exception e) {e.printStackTrace();}}public void closeResultSet(ResultSet rs) {try {if (rs != null) {rs.close();}} catch (Exception e) {e.printStackTrace();}}

参考文章

Removal of JDBC ODBC bridge in java 8

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。