gpt4 book ai didi

postgresql - 为什么数据库初始化失败并显示 "ERROR: improper qualified name (too many dotted names)"?

转载 作者:行者123 更新时间:2023-11-29 12:05:41 28 4
gpt4 key购买 nike

我正在使用 Scala 2.10 和 Slick 2.10-1.0.1 带有普通查询。

我试图在 localhost 上用 Tomcat 初始化一个惰性评估数据库。对于查询评估,我在端口 5432 上使用 PostgreSQL。

当我尝试编译时,我收到以下错误消息:

ERROR org.quartz.core.JobRunShell - Job DEFAULT.MissionLifecycleManager threw an unhandled Exception: org.postgresql.util.PSQLException: ERROR: improper qualified name (too many dotted names)
Position: 16
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) ~[postgresql-9.1-901.jdbc4.jar:na]
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835) ~[postgresql-9.1-901.jdbc4.jar:na]
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) ~[postgresql-9.1-901.jdbc4.jar:na]
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500) ~[postgresql-9.1-901.jdbc4.jar:na]
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) ~[postgresql-9.1-901.jdbc4.jar:na]
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:381) ~[postgresql-9.1-901.jdbc4.jar:na]
at scala.slick.jdbc.StatementInvoker.results(StatementInvoker.scala:34) ~[slick_2.10-1.0.1.jar:1.0.1]
at scala.slick.jdbc.StatementInvoker.elementsTo(StatementInvoker.scala:17) ~[slick_2.10-1.0.1.jar:1.0.1]
....

这是我的初始化代码:

import com.weiglewilczek.slf4s.Logging
import scala.slick.driver.PostgresDriver._
import scala.slick.session.Database
import Database.threadLocalSession
import scala.slick.jdbc.{GetResult, StaticQuery => Q}
import scala.slick.driver.PostgresDriver.simple._

object SQLUtilities extends Logging with ServiceInjector {
lazy val db = init()

private def init() = {
info("Connecting to postgres database at localhost") //writes in a log file

val qe = Database.forURL("jdbc:postgresql://localhost:5432", "user", "pass", driver = "org.postgresql.Driver")
info("Connected to database")
qe
}
}

显然,出了点问题。所以我认为,我的数据库初始化不正确。我忘记了一些参数吗?我的参数完全正确吗?

另一个 - 不是那么致命 - 问题:如果我有一个主体,我想在方法的开头和结尾记录一些东西 - 让我们说总是相同的日志消息,但主体不同 - 作为一个标志我开始并离开了这个方法...除了 init() 中的这个示例之外,还有其他合适的方法吗?

最佳答案

在连接字符串“jdbc:postgresql://localhost:5432/somedatabase”中指定一个数据库。

参见 http://jdbc.postgresql.org/documentation/head/connect.html

关于postgresql - 为什么数据库初始化失败并显示 "ERROR: improper qualified name (too many dotted names)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19973486/

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