播放Anorm导致PSQLException“无法找到提供的名称VARCHAR的服务器数组类型”

时间:2015-12-24 05:20:25

标签: postgresql scala anorm

我正在尝试使用以下代码在postgres text [](文本数组)列中插入List [String]:

  def insertList(listName: String, subLists: List[String]): Long = {
    DB.withConnection{implicit c =>
      SQL(
         """
           INSERT INTO mailinglists(name, sublists) VALUES({listName}, {subLists})
         """)
           .on('listName -> listName, 'subLists -> subLists.toArray)
           .executeInsert(scalar[Long] single)
        }
   }

这引发了运行时异常:

org.postgresql.util.PSQLException: Unable to find server array type for provided name VARCHAR

当我搜索此异常时,大多数解决方案都会告诉海报将他们的类型转换为“VARCHAR”小写example

除了使用anorm之外,执行此操作的代码是隐藏的,例如:

ConnectionPool.borrow().createArrayOf("VARCHAR", array));

此外,我在Anorm's ParameterMetaData code

中找到了此信息
implicit object StringParameterMetaData extends ParameterMetaData[String] {
   val sqlType = "VARCHAR"
   val jdbcType = Types.VARCHAR
  }

不确定是不是原因。任何帮助表示赞赏。

0 个答案:

没有答案
相关问题