java excel odbc_java读取excel表格中的内容(1.手动配置ODBC数据源 2.不手动配置)

一,不手动配置数据源

例程如下

import java.sql.*;

public class Odbc

{

public static void main(String args[]) throws ClassNotFoundException, SQLException{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String dburl="driver={Microsoft Excel Driver (*.xls)};DBQ=f://banji//cekong08.xls";//

Connection conn=DriverManager.getConnection("jdbc:odbc:"+dburl);

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from [sheet1$]");

while(rs.next())

{

System.out.println(rs.getString("姓名"));

}

stmt.close();

conn.close();

}

}

二、手动配置数据源

进入“控制面板” --> “管理工具” --> “数据源(ODBC)”-->选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)”

然后在数据源名处输入你一个名字exceldb(译者注:相当于数据库名),然后点击“选择工作簿”,然后找到并选取你的Excel文件

点击确定后,系统数据源列表中会出现你设置的数据源名称Exceldb,

例程如下

import java.sql.*;

public class Connect {

public static void main(String args[]) throws Exception{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String dburl ="jdbc:odbc:Exceldb";

Connection conn=DriverManager.getConnection(dburl,"localhost", "123456");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from [sheet1$]");

while(rs.next())

{

System.out.println(rs.getString("姓名"));

}

stmt.close();

conn.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当使用pb(即PowerBuilder)读取Excel文件时,出现ODBC 37000错误,这是因为在ODBC连接字符串或SQL语句存在问题导致的。 一种可能的情况是ODBC连接字符串的配置有误。在PowerBuilder,我们可以使用ODBC连接字符串来访问不同类型的数据源,如Excel。通常,ODBC连接字符串需要指定Excel文件的路径、驱动程序和其他连接参数。如果其有任何错误,如路径错误、驱动程序错误或其他参数错误,都会导致无法建立有效的连接,进而引发ODBC 37000错误。 另一种可能的情况是在执行SQL语句时存在问题。在PowerBuilder,我们可以使用SQL语句来查询Excel文件数据。如果SQL语句语法有误,如表名或列名错误、查询条件错误或语句结构错误,都会导致执行失败,进而引发ODB 37000错误。 要解决这个错误,我们可以采取以下步骤: 1. 确认ODBC连接字符串的正确性。检查Excel文件的路径是否正确,确认使用的驱动程序是否适用于Excel文件,并检查其他连接参数是否正确配置。 2. 检查SQL语句的正确性。确保查询的表名和列名正确,查询条件合理,并检查语句的语法是否符合PowerBuilder的要求。 3. 使用PowerBuilder提供的调试工具来逐步调试代码,定位具体的错误位置,并逐步排查错误的原因。 总之,当使用pb读取Excel文件时遇到ODBC 37000错误,我们需要仔细检查ODBC连接字符串和SQL语句的正确性,以及进行逐步调试,才能找到并解决问题。 ### 回答2: PB是指PowerBuilder,而37000是ODBC驱动程序返回的特定错误代码。 当使用PowerBuilder的ODBC功能读取Excel文件时,可能会遇到"ODBC 37000"错误。这个错误通常表示在执行SQL查询时发生了语法错误。 造成这个错误的原因可能有以下几种情况: 1. SQL查询语句存在错误的语法或拼写错误。在使用ODBC读取Excel文件时,查询语句必须遵循正确的SQL语法。请检查查询语句的每一个组件,确保语法正确无误。 2. Excel文件的表名或列名不正确。要读取Excel文件,必须提供正确的表名和列名。在编写查询语句时,确保表名和列名与Excel文件的实际名称一致。 3. Excel文件可能被其他程序锁定。如果Excel文件正在被其他程序占用或锁定,PowerBuilder将无法读取文件数据。请确保Excel文件没有被其他程序打开或锁定。 4. ODBC驱动程序的版本不兼容。由于PowerBuilder是一个比较旧的开发工具,某些最新版本的ODBC驱动程序可能不与其兼容。请确保使用与PowerBuilder版本兼容的ODBC驱动程序。 解决这个问题的方法包括: 1. 仔细检查语法错误并修复查询语句的错误。 2. 确认Excel文件的表名和列名与查询语句的名称一致。 3. 确保Excel文件没有被其他程序打开或锁定。 4. 尝试使用与PowerBuilder版本兼容的ODBC驱动程序。如果当前的驱动程序不起作用,尝试回滚到一个早期版本或升级到更新的PowerBuilder版本。 总之,"ODBC 37000"错误表示在PowerBuilder使用ODBC读取Excel文件时发生了语法错误。通过修复查询语句的语法错误、确认表名和列名的正确性,以及保证Excel文件没有被其他程序锁定,可以解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值