Почему я получаю сообщение об ошибке при использовании выставленных в Kotlin? - PullRequest
0 голосов
/ 05 марта 2019

Мне нужно получить region_name по region_code из Oracle DB

Я использую Exposed для своей программы, но я получаю сообщение об ошибке

in thread "main" java.lang.AbstractMethodError
at org.jetbrains.exposed.sql.Transaction.closeExecutedStatements(Transaction.kt:181)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:137)
at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:75)

Код

object Codes : Table("REGIONS") {
val region_code = varchar("region_code",32)
val region_name = varchar("region_name",32)}

Основное веселье содержит

.......
val conn = Database.connect("jdbc:oracle:thin:@//...", driver = "oracle.jdbc.OracleDriver",
    user = "...", password = "...")

transaction(java.sql.Connection.TRANSACTION_READ_COMMITTED, 1, conn) {
        addLogger(StdOutSqlLogger)
        Codes.select { Codes.region_code eq "a" }.limit(1).forEach {
            print(it[Codes.region_name])
        }
    }

1 Ответ

0 голосов
/ 05 марта 2019

AbstractMethodError обычно означает, что вы скомпилировали код с одной версией библиотеки, но работаете с другой (несовместимой) версией.(См., Например, эти вопросы .)

Поэтому я бы тщательно проверил ваши зависимости и c.

...