3
我有下面的JDBC代碼。我正在嘗試創建一個dnsless
連接。在java中訪問.xlsb文件
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位。
感謝
您可以嘗試安裝[Access數據庫引擎](http://www.microsoft.com/en-US/download/details.aspx?id=13255),然後查看是否可以使用Driver = {Microsoft Excel驅動程序(* .xls,* .xlsx,* .xlsm,* .xlsb)}'。 (請注意,您必須以與您的Java應用程序將運行的JVM相同的「bitness」安裝驅動程序:32位或64位。) –
嗨@GordThompson,感謝您嘲笑這些'bitness',錯過了在寫這個問題時,我所有的應用程序都是32位的。更新我的問題:) – user3872094
@GordThompson,只是好奇知道,什麼是這個Access數據庫引擎,當我部署我的應用程序時,我需要它嗎?我也可以使DNS與此連接更少? – user3872094