Java ODBC 连接 MS Access 和 MS Excel :
1,ACCESS ODBC 连接url,如:
不采用dsn:"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb"; //这种方式不需要配置ODBC DSN,需要写明物理路径
需要配置系统dsn: "jdbc:odbc:mydb201411"
2,EXCEL ODBC 连接url,如:
不采用dsn:
查询:"jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls"; //这种方式不需要配置ODBC DSN,需要写明物理路径
更新:"jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls;ReadOnly=0"
需要配置系统dsn: "jdbc:odbc:myexceldb201411"
3,查询EXCEL ,表名用"[]"包裹sheet名,如:
"select * from [logsheet2$] "
4,访问均支持PreparedStatement
5,数据插入Access表,不支持一语句多条记录的方式,比如:"insert into xxx values ('',''),('','')"
--------------------------------------------------------------------------------------------------------------------------------------------
public static void logquery_Access(){
Connection con = null;
ResultSet rs = null;
Statement st = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb"; //这种方式不需要配置ODBC DSN
//String url = "jdbc:odbc:mydb201411"; //这种url也能访问,但是,需要配置 ODBC DSN
con = DriverManager.getConnection(url);
String sql = "select * from matterlogs ";
st = con.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
String s = "";
for (int i = 1; i < 6; i++) {
s+= rs.getString(i)+",";
}
System.out.println(s);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
if( rs!=null ) rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( st!=null ) st.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( !con.isClosed() ) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static int loginsert_Access(){
int res = 0 ;
Connection con = null;
Statement st = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb";//这种方式不需要配置ODBC DSN
//String url = "jdbc:odbc:mydb201411"; //这种url也能访问,但是,需要配置 ODBC DSN
con = DriverManager.getConnection(url);
String sql = "insert into matterlogs (id,htime,host,matters) values('14','2014-02-03 12:34:56','OA','geton') ;";
st = con.createStatement();
res = st.executeUpdate(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
if( st!=null ) st.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( !con.isClosed() ) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return res;
}
public static void logsinsert_Access(){
Connection con = null;
//Statement st = null;
PreparedStatement ps = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/mydb201411.mdb";//这种方式不需要配置ODBC DSN
//String url = "jdbc:odbc:mydb201411"; //这种url也能访问,但是,需要配置 ODBC DSN
con = DriverManager.getConnection(url);
String sql = "insert into matterlogs (id,htime,host,matters) values(?,?,?,?) ;";
con.setAutoCommit(false);
ps = con.prepareStatement(sql);
for (int i = 0; i < 5; i++) {
ps.setString(1, "15");
ps.setString(3, "SP");
ps.setString(2, DateFormat.getDateInstance().format(new Date(System.currentTimeMillis())));
ps.setString(4, "get"+String.valueOf(i));
ps.addBatch();
}
ps.executeBatch();
con.commit();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
if( ps!=null ) ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( !con.isClosed() ) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void logquery_Excel(){
Connection con = null;
ResultSet rs = null;
Statement st = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls"; //这种方式不需要配置ODBC DSN
//String url = "jdbc:odbc:myexceldb201411"; //这种url也能访问,但是,需要配置 ODBC DSN
con = DriverManager.getConnection(url);
String sql = "select * from [logsheet2$] where host='admin' ";
st = con.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
String s = "";
s+= rs.getString(1)+",";
s+= rs.getString(2)+",";
s+= rs.getString(3)+",";
s+= rs.getString(4)+",";
System.out.println(s);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
if( rs!=null ) rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( st!=null ) st.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( !con.isClosed() ) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void logsinsert_Excel(){
Connection con = null;
Statement st = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=e:/myexceldb201411.xls;ReadOnly=0";//这种方式不需要配置ODBC DSN
con = DriverManager.getConnection(url);
String sql = "insert into [logsheet2$] (id,htime,host,matters) values('22','2014-12-12 01:02:03','admin','logoff') ;";
st = con.createStatement();
st.executeUpdate(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
if( st!=null ) st.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if( !con.isClosed() ) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
相关推荐
这个压缩包“ODBC操纵MS_Access数据库.rar”可能包含了一系列关于如何使用ODBC连接和操作MS Access数据库的教程、示例代码或者文档。 首先,我们需要了解ODBC的工作原理。ODBC包含三个主要组件:驱动程序管理器、...
在Java编程环境中,连接Microsoft Access数据库通常通过JDBC(Java Database Connectivity)实现,而Access数据库与Java之间的桥梁是ODBC(Open Database Connectivity)。ODBC是一个标准的API,允许应用程序通过...
易语言源码ODBC操纵MS_Access数据库.rar 易语言源码ODBC操纵MS_Access数据库.rar 易语言源码ODBC操纵MS_Access数据库.rar 易语言源码ODBC操纵MS_Access数据库.rar 易语言源码ODBC操纵MS_Access数据库.rar ...
通过以上步骤,我们可以成功地使用Java和ODBC在程序中连接和操作Access数据库。然而,对于大型项目,推荐使用更强大、更稳定的数据库系统(如MySQL、Oracle等)以及对应的JDBC驱动,以获得更好的性能和扩展性。
在易语言中,使用ODBC可以方便地连接到像MS_ACCESS这样的外部数据库,实现数据的读取、写入和管理。本文将详细讲解如何利用易语言和ODBC连接MS_ACCESS数据库,并通过提供的源码进行学习。 1. ODBC基础知识: ODBC...
64位windows平台默认不安装Access的64位ODBC驱动,此下载将安装一系列组件,帮助在现有的 Microsoft Office 文件(例如 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和 Microsoft Office Excel 2010(*....
64位windows平台默认不安装Access的64位ODBC驱动,此下载将安装一系列组件,帮助在现有的 Microsoft Office 文件(例如 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和 Microsoft Office Excel 2010(*....
在易语言中,开发者可以利用ODBC驱动来连接和操作MS Access数据库,实现数据的读取、写入、更新和删除等操作。 "使用详解.doc"文档很可能是关于如何使用易语言和ODBC进行数据库操作的详细指南。通常,这样的文档会...
ODBC(Open Database Connectivity)是一种数据访问接口,它允许应用...通过以上步骤,你可以在VC++环境中使用ODBC成功地连接和操作Access数据库。记得在编写代码时,根据实际情况调整示例中的参数,如DSN、SQL语句等。
VC利用ODBC连接ACCESS数据库代码。具体解释http://www.zhwuya.com/index.php/vc-6-0-to-achieve-access-odbc-database-connectivity-absolute-available/
对于Excel,Microsoft提供了ODBC驱动程序,名为“Microsoft Jet ODBC Driver”或“Microsoft Office Access Database Engine”,允许应用程序通过ODBC接口与Excel文件进行通信。 以下是使用ODBC访问Excel的基本步骤...
- 本示例中的"源码"可能是指实现上述步骤的Java代码,"工具"则指的是MySQL ODBC驱动和Java JDK,它们是实现Java通过ODBC连接MySQL所必需的工具。 通过以上步骤,你就能在Java应用程序中成功地通过ODBC连接到MySQL...
在JSP中,通过ODBC(Open Database Connectivity)连接Access数据库,可以实现网页与数据库之间的交互,如数据查询、添加、更新和删除等操作。下面将详细介绍这个主题,并提供一个示例。 首先,我们需要确保在...
在Windows 8操作系统中,通过ODBC(Open Database Connectivity)数据源管理器连接到Microsoft Access 2013数据库是一项常见的任务,这使得其他应用程序能够访问和操作Access数据库中的数据。下面将详细介绍如何创建...
在上文给出的Java代码示例中,我们可以通过以下步骤了解如何使用ODBC连接到Access数据库: 1. **选择并配置Access数据库**:首先,需要确定要连接的Access数据库文件(如“Access1.mdb”),并确保其存储路径正确...
在Windows操作系统中,ODBC驱动程序管理器是连接到各种数据库(包括Microsoft Access)的关键组件。本教程将深入讲解如何使用ODBC来连接ACCESS数据库,并通过VC++使用ADO进行数据库操作。 首先,要建立ODBC数据源,...
在Windows系统中,Access数据库可以通过ODBC驱动程序进行访问,因此,Java应用可以通过JDBC-ODBC桥接直接连接到Access,而无需预先创建数据源。 连接Access数据库的步骤如下: 1. **导入必要的库**:在Java项目中...
一种jdbc-odbc桥连接Access的方法
java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接。 java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 1 try { 2 ///加载驱动jar 3 Class.forName...
易语言ODBC操纵MS_Access数据库.rar 易语言ODBC操纵MS_Access数据库.rar 易语言ODBC操纵MS_Access数据库.rar 易语言ODBC操纵MS_Access数据库.rar 易语言ODBC操纵MS_Access数据库.rar 易语言ODBC操纵MS_Access...