HSQLDB .net API: метод ‘getParentLogger’ не имеет реализации

#asp.net #hsqldb

#asp.net #hsqldb

Вопрос:

Я попытался подключиться к HSQLDB с помощью API из официального репозитория, но он выдал мне эту ошибку: System.Исключение TypeLoadException было необработанным HResult=-2146233054 Message=Метод ‘getParentLogger’ типа ‘org.hsqldb.jdbcDriver’ из сборки ‘Org.Hsqldb, версия = 1.8.1.3, Культура = нейтральная, PublicKeyToken = 05732303801b208f’ не имеет реализации. Source= TypeName=org.hsqldb.jdbcDriver Я использую пакеты управления NuGet Visual Studio 2013 для установки IKVM и IKVM.OpenJDK.JDBC. Я также добавляю Org.Hsqldb.dll к ссылке. Вот коды подключения:

открытый класс HSQLDB Connection: IConnection {

 private Connection _connection;

public HSQLDBConnection(string dbName, string tableName)
{
    try
    {
        DriverManager.registerDriver(new org.hsqldb.jdbcDriver());
        _connection = DriverManager.getConnection("jdbc:hsqldb:"   dbName, "SA", "");
        CreateTable(tableName);
    }
    catch(Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

private int CreateTable(string tableName)
{
    string command = "";
    command  = "CREATE TABLE ";
    command  = tableName   " (";
    command  = "id VARCHAR(255),";
    command  = "data LONGVARCHAR,";
    command  = "expires_at INTEGER";
    command  = ")";
    return _connection.createStatement().executeUpdate(command);
}
  

}

Синтаксис похож на java, потому что этот API поддерживает java-код для HSQLDB. Эти коды написаны на .net 4.5.

Комментарии:

1. Я думаю, вам нужно использовать версии программного обеспечения Java и Microsoft, которые использовались для разработки пакета HSQLDB .NET. Эти версии на несколько лет старше 2013 года.

2. Спасибо! Я попытался изменить версию IKVM, и это сработало.