我开始学习和实验了。
我正在尝试连接到由我们的DBA建立的oracle数据库。
然而,我遇到了问题,我无法连接。
以下是我迄今所做的工作:
oracledev ={ url = "jdbc:oracle:thin:@//vdevdbms2:4208/TPSDEV.IADB.ORG“驱动程序= com.typesafe.slick.driver.oracle.OracleDriver connectionPool =禁用keepAliveConnection = true }
在我的构建中有以下几点
解析器+= "Typesafe Releases“( "http://repo.typesafe.com/typesafe/maven-releases/”libraryDependencies ++= Seq)( "com.smartlogic.osclient“%”信号量-OS-客户端“%”信号量-3.7.2“,"com.typesafe.slick”%%“slick-扩展”% "3.1.0","org.slf4j“% "slf4j-nop”% "1.6.4“)
到目前为止,代码很简单:
object SlickSpike extends App {
val db = Database.forConfig("oracledev")
}我得到以下错误:
线程"main“中的异常:禁用java.lang.ClassLoader.findClass(ClassLoader.java:530) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at slick.util.ClassLoaderUtil$$anon$1.loadClass(ClassLoaderUtil.scala:12) at slick.jdbc.JdbcDataSource$.loadFactory$1(JdbcDataSource.scala:30) at slick.jdbc.JdbcDataSource$.forConfig(JdbcDataSource.scala:39)在slick.jdbc.JdbcBackend$DatabaseFactoryDef$class.forConfig(JdbcBackend.scala:268) at slick.jdbc.JdbcBackend$$anon$3.forConfig(JdbcBackend.scala:33) at SlickSpike$.delayedEndpoint$SlickSpike$1(SlickSpike.scala:16) at SlickSpike$delayedInit$body.apply(SlickSpike.scala:14) at scala.Function0$class.apply$mcV$sp(Function0.scala:34) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.App(App.scala:76)在scala.App应用$$anonfun$main$1.应用程序( scala.collection.immutable.List.foreach(List.scala:381) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35) at scala.App$class.main(App.scala:76) at SlickSpike$.main(SlickSpike.scala:14) at SlickSpike.main(SlickSpike.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
如果我删除这一行:**
connectionPool =禁用
**
然后,我得到以下错误:
线程"main“中的异常: java.lang.ClassLoader.findClass(ClassLoader.java:530) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at slick.util.ClassLoaderUtil$$anon$1.loadClass(ClassLoaderUtil.scala:12) at slick.jdbc.JdbcDataSource$.loadFactory$1(JdbcDataSource.scala:30) at slick.jdbc.JdbcDataSource$.forConfig(JdbcDataSource中的slick.jdbc.hikaricp.HikariCPJdbcDataSource$( slick.jdbc.JdbcBackend$DatabaseFactoryDef$class.forConfig(JdbcBackend.scala:268) at slick.jdbc.JdbcBackend$$anon$3.forConfig(JdbcBackend.scala:33) at SlickSpike$.delayedEndpoint$SlickSpike$1(SlickSpike.scala:16) at SlickSpike$delayedInit$body.apply(SlickSpike.scala:14) at scala.Function0$class.apply$mcV$sp(Function0.scala:34) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App) at $$anonfun$main$1.Apply(App.scala:76)scala.collection.immutable.List.foreach(List.scala:381) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35) at scala.App$class.main(App.scala:76) at SlickSpike$.main(SlickSpike.scala:14) at SlickSpike.main(SlickSpike.scala)
我做错什么了?
我只想拥有一个连接池10,并连接到数据库,但我不知道如何设置它。有人能帮忙吗?
Edit2
我解决了最初的问题,但我仍然有问题,不能使所有的事情都起作用。
我这样改变我的身材:
libraryDependencies ++= Seq( "org.slf4j“% "slf4j-api”% "1.7.13","org.slf4j“%”slf4j-简单“% "1.7.13","com.smartlogic.osclient”%“信号量-OS-客户端”%“信号量-3.7.2”排除(“org.slf4j”,"slf4j-log4j12"),"com.typesafe.slick“%% "slick”% "3.1.0“% "com.typesafe.slick”%“slick-ojdbc6”% "3.1.0“"com.typesafe.slick”% "slick-hikaricp“% "3.1.0”"com.oracle“% "ojdbc6”% "11.2.0.2.0“)
我诉诸于添加slick-hikaricp,,即使我不打算最初使用。我现在也明白了,配置中的oracle驱动程序是实际的oracle驱动器,而不是光滑的驱动程序。这实际上反映在我对配置所做的更改中,如下所示:
oracledev ={ url = "jdbc:oracle:thin:@//vdevdbms2:4208/TPSDEV.IADB.ORG“driver = oracle.jdbc.OracleDriver // connectionPool = keepAliveConnection = true //databaseName = "BRIKPOOLPARTYDEV”用户=“*”密码=“*”}
问题:
1-在使用甲骨文时,默认情况下需要slick-hikaricp吗?实际上,如果我不添加它并注释掉connectionPool =禁用,在我的示例中,在取消注释的情况下,程序不会编译。
我还是联系不上,是不是漏掉了什么?
请帮帮忙
发布于 2015-12-06 20:35:08
oracle、db2和ms驱动程序都不是免费的。有一个单独的‘光滑-扩展’包,其中包含驱动程序,您可以用于开发。但是你得用冷现金来生产它们。
发布于 2015-12-09 19:04:54
您应该下载并将ojdbc7.jar放在根项目(lib)中的一个文件夹中,并重新构建它。
发布于 2019-08-27 14:41:23
应该禁用connectionPool配置中的条目,而不是禁用。
在决定加载什么JdbcDataSource时,使用此配置项。禁用配置项尝试加载名称为禁用的JdbcDataSourceFactoryfactory。
https://stackoverflow.com/questions/34121225
复制相似问题