私はScala 2.11.8でSlick 3.1.0を使用しています。これは、滑らかな拡張機能を使用してOracleデータベースを照会しています。Oracle Streamsドライバはストリーミングをサポートしていますか?
私は、次のコード
type MyTup = (String, String, String)
implicit val actorSystem = ActorSystem()
implicit val materializer = ActorMaterializer()
val db = Database.forConfig("oracle")
val query = sql"""select col1, col2, col3 from FOO.BAR""".as[MyTup]
val source = Source.fromPublisher[MyTup](db.stream(query))
val sink = Sink.foreach[MyTup](row => println(row))
val flow = source to sink
flow.run()
readLine()
db.close()
私はこのコードを実行すると、このコードは何も印刷せずに非常に長い時間のために実行を書いた....その全体の結果を読み取ろうとすることを意味しているように見えることになります印刷する前に(ストリーミングしないように)
私はMySQLと私にストリーミング行っているが、それは
https://github.com/slick/slick/issues/1218
のストリーミングを有効にするために、特別な設定を必要としていることを知っているOracleはMySQLでものようないくつかの特別な設定が必要ですか?
マイbuild.sbt
libraryDependencies ++= Seq(
"com.typesafe.slick" % "slick-extensions_2.11" % "3.1.0",
"com.typesafe.slick" % "slick_2.11" % "3.1.0",
"com.typesafe.slick" % "slick-codegen_2.11" % "3.1.0",
"oracle" % "ojdbc7_2.11" % "7.0.0",
"com.typesafe.slick" % "slick-hikaricp_2.11" % "3.1.0",
"com.typesafe.akka" % "akka-stream_2.11" % "2.5.4"
)