在java中访问一个.xlsb文件

我有下面的JDBC代码。 我试图创build一个dnsless连接。

 import java.sql.DriverManager; import java.sql.Connection; import java.sql.SQLException; public class dummy { public static void main(String[] argv) { System.out.println("-------- Oracle JDBC Connection Testing ------"); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { System.out.println("Where is your Oracle JDBC Driver?"); e.printStackTrace(); return; } System.out.println("Oracle JDBC Driver Registered!"); Connection connection = null; try { connection = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=D:/abc.xls;"); } catch (SQLException e) { System.out.println("Connection Failed! Check output console"); e.printStackTrace(); return; } if (connection != null) { System.out.println("You made it, take control your database now!"); } else { System.out.println("Failed to make connection!"); } } } 

该程序正在与下面的输出正常工作。

 -------- Oracle JDBC Connection Testing ------ Oracle JDBC Driver Registered! You made it, take control your database now! 

但是我需要访问一个.xlsb文件,当我改变

 connection = DriverManager .getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=D:/abc.xls;"); 

 connection = DriverManager .getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xlsb)};DBQ=D:/abc.xlsb;"); 

我得到下面的输出例外。

 -------- Oracle JDBC Connection Testing ------ Oracle JDBC Driver Registered! Connection Failed! Check output console java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source) at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at dummy.main(dummy.java:19) 

请让我知道我该如何解决这个问题,我想使用dnsless connection 。 由于我有多个Excel工作表。

而我所有的应用程序是32位。

谢谢

正如其名称所示,旧的Excel ODBC驱动程序

 Driver={Microsoft Excel Driver (*.xls)}; 

只适用于.xls文件。

较新的Excel ODBC驱动程序

 Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; 

也适用于更新版本的Excel(2007及更高版本)使用的Open XML文件types 。 包含更新的Excel驱动程序作为Access数据库引擎安装的一部分。