Как с помощью slick вставить облако типа Blob в базу данных? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть следующая таблица:

class ExampleTable(tag: Tag) extends Table[Example](tag, "example") {

  def id      = column[Long]("id", O.PrimaryKey, O.AutoInc)
  def content = column[Blob]("content")

  def * = (id, content).mapTo[Example]
}
case class Example(id:Long ,content: Blob)

Я использовал класс serialBlob , но у меня возникло исключение во время выполнения.

val blob = new SerialBlob(fileInbytes) 

Исключение составляет :

java.lang.ClassCastException: com.jolbox.bonecp.ConnectionHandle cannot be cast to oracle.jdbc.OracleConnection

Как вставить файл типа Blob в базу данных? Спасибо

1 Ответ

0 голосов
/ 13 мая 2020

То, что у вас есть, похоже, должно работать с точки зрения Blob.

Однако ошибка (ConnectionHandle cannot be cast to oracle.jdbc.OracleConnection) выглядит подозрительно. Дважды проверьте свои зависимости, чтобы убедиться, что у вас правильный драйвер Oracle, и что вы импортировали slick.jdbc.OracleProfile.api._

. В случае, если это помогает, возможно, более распространено определение таблицы и класса case с точки зрения Array[Byte], а не Blob. Slick имеет встроенные преобразования, которые принимают Array[Byte] и обрабатывают его как Blob при создании схемы и запросах.

...