32ビットJVMを使用してコンパイルすると問題なく動作しますが、64ビットJVMを使用しようとすると問題が発生します。私が得ているメッセージは、"[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
です。Java 64ビットJDBC-ODBCドライバの問題
私は、次のようなコードを使用してExcelとSQL Serverデータベースに接続しようとしている:私はドライバマネージャをチェックしようとしたとき
String file = directory + "/fileName.xlsm";
String connectStr= "jdbc:odbc:DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + file + ";READONLY=false";
try {
Class.forName(getDriver());
gConnection = DriverManager.getConnection(connectStr);
//do stuff with connection
}
ドライバーの64ビットバージョンを持っていないようでした。これを簡単に修正し、コンピュータ上の設定を手動で変更することなく64ビットドライバを使用して接続できるようにする(このプログラムは複数のコンピュータに分散されるため、これまでのコンピュータ用にドライバを個別にダウンロードする必要はありません。それを実行したい)?また、64ビットドライバを使用して接続する方が効率的か、32ビットのものは良い/高速である(私は非常に大きなデータセットを持っているので、小さな違いが違いになるでしょう)?
どのExcelのバージョンですか? Office 2010以前はドライバは32ビットのみでした。 – vulkanino
ああ、申し訳ありません。それは2010年です。また、MS Officeは32ビットですが、64ビットドライバを使用することは可能ですか? – scaevity
これを試してみてください。http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255#Overview – vulkanino