gpt4 book ai didi

scala - Slick 3.0.0 中纯 SQL 查询的 Blob 或 BYTEA

转载 作者:行者123 更新时间:2023-12-02 03:24:30 25 4
gpt4 key购买 nike

我正在尝试使用 Slick 3.0.0 从 Postgres 9.4 数据库返回 BLOB

我的简单尝试是

导入 slick.driver.PostgresDriver.api._
导入 slick.jdbc.JdbcBackend.Database
导入 scala.concurrent.Await
导入 scala.concurrent.duration._
导入 scala.concurrent.ExecutionContext.Implicits.global

object QueryRunner extends  App {
val db = Database.forURL("jdbc:postgresql://localhost:5432/test","test_migration","test_migration",driver = "org.postgresql.Driver")

def selectRegions = sql"Select region_data from test.regions".as[java.sql.Blob]
val result = db.run(selectRegions)
val regionData = Await.result(result,1.seconds)}

我回来了

错误:(16, 65) 找不到参数 rconv 的隐式值:slick.jdbc.GetResult[java.sql.Blob] def selectRegions = sql"从 core.regions 中选择 region_data".as[java.sql.Blob]

我觉得既然 Blob 和 BYTEA 有点专业,我一定是缺少导入?

最佳答案

Slick 的标准 Postgres 驱动程序目前不支持 Blob 以及许多其他特定于 Postgres 的类型。参见 http://slick.typesafe.com/doc/3.1.0-M1/schemas.html :

The following primitive types are supported out of the box forJDBC-based databases in JdbcProfile (with certain limitations imposedby the individual database drivers):

Numeric types: Byte, Short, Int, Long, BigDecimal, Float, Double

LOB types: java.sql.Blob, java.sql.Clob, Array[Byte]

Date types: java.sql.Date, java.sql.Time, java.sql.Timestamp

Boolean

String

Unit

java.util.UUID

社区努力在修改后的 Postgres 驱动程序中添加对其他类型的支持。您可以监控这项工作的结果:https://github.com/tminglei/slick-pg .

关于scala - Slick 3.0.0 中纯 SQL 查询的 Blob 或 BYTEA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com