2011-10-05 4 views
1

現在、私はプロジェクトの拡張機能として小さなデスクトップアプリケーションを開発しました。これは '.mdb'ファイルを読み込み、 'JDBC-ODBCドライバ'を使ってMS- 。 これはWindows環境でうまく動作しますが、Debian-Linuxマシンではこれを実行できません。Debian Linuxマシン上でJavaでMS Accessを接続する

同じのためのコードは、以下に述べるとおりである。

try 
{ 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    oAccessConnection = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+mdbFileName); 
} 
catch (Exception oException) 
{ 
    logger.info("Exception",oException); 
} 

親切に私は、問題の診断に役立ちます!

答えて

3

JDBC-ODBCブリッジはLinuxマシンでは動作しませんので、MS-ACCESSに直接アクセスできる他のJDBCドライバを使用する必要があります。 ODBCブリッジを介して)this thread

2

Linux用のMS Accessが見つからない限り、これはうまくいくとは思いません。 MS Accessは、サポートされているオペレーティングシステムで実行する必要があります。

MS Accessを別のWindowsボックスで実行し、リモートからアクセスすることも、Windowsを同じボックスの仮想マシンにインストールすることもできます。 https://www.virtualbox.org/

他のOSで使用できるデータベースを使用することもできます。 (これはほとんどすべてのデータベースのMS AccessとMS SQL Serverを受け入れます)

+0

同じアプローチを提案することはできますか? – HarsH1610

+0

@HarsH、いくつかの提案を追加しました。 MSはWindows OS上でアクセスを実行すると主張している。 –

1

ファイルデータを操作して複雑なクエリを実行する必要がない場合は、jackcessを使用してアクセスファイルを操作できます(どのプラットフォームでも動作します)。余分なライブラリなし)。唯一の欠点は、jdbcをサポートしていないか、SQLクエリを実行する方法があることです。

関連する問題