odbc配置以及一个简单的java连接的代码编写

1、odbc配置的问题记录

问题描述:

刚开始写好程序之后,直接进行简单数据库调用,但是程序一直报空指针错误,后来查找资料才知道,jdk8里面是没有odbc所用的驱动类,于是换成了jdk7就可以了

问题描述:

java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 无效的描述器索引

是因为在取值的时候索引错误引起的。

问题描述:

odbc数据源中没有oracle驱动。

解决方法:

到C:\Windows\SysWOW64路径下找odbc.exe,这个位置的odbc程序中是有的。

问题描述:

java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配。

解决方法(我的电脑是64位的windows 7):

是因为我在%windir%\system32\odbcad32.exe这个位置的odbc程序中配置了连接信息,换成在C:\Windows\SysWOW6位置下的odbc程序中配置就可以了。

2、odbc程序配置

首先打开C:\Windows\SysWOW64下的odbc.exe程序

点击添加,选择oracle in OraDb11g_home1,然后点击完成

填写相关信息,填写完成之后可以点击Test Connection进行测试连接是否成功。

若是成功则会有个弹窗进行提示

然后点击确定,odbc关于oracel的简单连接配置就算完成了,选项列表连接池配置比较简单就不再列出详细配置。

odbc关于oracle的数据源配置已经好了,然后在进行一个简单的程序测试,若是能够查询出数据那就算可以了。

3、java编写简单的odbc连接配置程序,只要驱动名称和连接配置有点不同之外,其他的基本都一样

package odbcTest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test {
	public static Connection getCon() {
		Connection con = null;
		PreparedStatement pre = null;
		ResultSet result = null;
		String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
		String url = "jdbc:odbc:orcl";
		String user = "scott";
		String pass = "tiger";
		try {
			Class.forName(driver);
			con = DriverManager.getConnection(url, user, pass);
			String sql = "select * from emp";
			pre = con.prepareStatement(sql);
			result = pre.executeQuery();
			while (result.next()) {
				System.out.print(result.getString("empno") + "   ");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (con != null) {
					con.close();
				}
				if (pre != null) {
					pre.close();
				}
				if (result != null) {
					result.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return con;
	}

	public static void main(String[] args) {
		getCon();
	}
}

到这里,odbc配置以及程序调用,就结束了,若有不足之处,望大神留言指正。

发布了61 篇原创文章 · 获赞 9 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u012129030/article/details/104750858