Я новичок в java. Сегодня попробовал сделать приложение для редактирования баз данных mdb. Я решил использовать Jackcess, но у меня всегда есть какие-то ошибки. Я новичок, поэтому я использую текстовый редактор для написания кода, а затем использую javac из cmd (это не самое эффективное решение, но оно позволяет лучше понять всю идею о java). Моя проблема в том, что я не могу сделать приложение, которое будет компилироваться и работать правильно.
Example_1: Создайте файл базы данных Access (.mdb или . accdb) с использованием Java по этой ссылке Сарат Кумар Сиван говорит, что вам нужно установить Jackcess, commons-logging, commons-lang jar и попробовать код. Я скачал эти баночки. Затем я переместил их в этот каталог:
C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext
После этого я попытался скомпилировать код, но получил эту ошибку:
JackcessLibrary.java:20: error: cannot find symbol
return Database.create(new File(databaseName));
^
symbol: method create(File)
location: interface Database
1 error
Я понятия не имею, что это значит.
Пример_2: на официальной странице Jackcess можно прочитать, что запустить можно простой командой:
Database db = DatabaseBuilder.open(new File("mydb.mdb"));
поэтому я написал это:
import com.healthmarketscience.jackcess.ColumnBuilder;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.*;
import com.healthmarketscience.jackcess.Table;
import com.healthmarketscience.jackcess.TableBuilder;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.sql.Types;
class Jackcess2 {
public static void main (String[] args) {
Database db = DatabaseBuilder.open(new File("mydb.mdb"));
}
}
который дал мне эту ошибку:
Jackcess2.java:21: error: unreported exception IOException; must be caught or declared to be thrown
Database db = DatabaseBuilder.open(new File("mydb.mdb"));
^
1 error
поэтому я отредактировал это:
import com.healthmarketscience.jackcess.ColumnBuilder;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.*;
import com.healthmarketscience.jackcess.Table;
import com.healthmarketscience.jackcess.TableBuilder;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.sql.Types;
class Jackcess2 {
public static void main (String[] args) {
try {
Database db = DatabaseBuilder.open(new File("Uruchom.odb"));
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Done.");
}
}
и теперь я могу скомпилировать его, но после запуска у меня есть это сообщение:
Error: Could not find or load main class Jackcess2.java
Я предполагаю, что мне нужно включить класс Jackcess, но я понятия не имею, как это сделать. Я никогда не видел ничего подобного раньше.
Я пробовал другие способы использования Jackcess, но ничего не работало должным образом. Можете ли вы объяснить мне, как использовать Jackcess и что я пропустил?
.java
создаст файл.class
, который вы фактически будете выполнять. Судя по вашему исходному коду, результирующий файл.class
будет называться Jackcess2.class, который вы должны выполнить с помощью командыjava Jackcess2
. (Обратите внимание, что вы не указываете расширение файла.class
при запуске приложения.) - person Gord Thompson   schedule 23.01.2017