Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 使用Akka.io从Azure SQL数据库提取数据_Scala_Akka_Azure Sql Database_Akka Stream - Fatal编程技术网

Scala 使用Akka.io从Azure SQL数据库提取数据

Scala 使用Akka.io从Azure SQL数据库提取数据,scala,akka,azure-sql-database,akka-stream,Scala,Akka,Azure Sql Database,Akka Stream,目前,我可以使用intelliJ创建会话: //sqlserver is the name of application.conf {} val databaseConfig = DatabaseConfig.forConfig[JdbcProfile]("sqlserver") implicit val session = SlickSession.forConfig(databaseConfig) 这是配置文件: sqlserver = { profi

目前,我可以使用intelliJ创建会话:

  //sqlserver is the name of application.conf {}
  val databaseConfig = DatabaseConfig.forConfig[JdbcProfile]("sqlserver") 
  implicit val session = SlickSession.forConfig(databaseConfig)
这是配置文件:

sqlserver = {
  profile = "slick.jdbc.SQLServerProfile$"
  db {
    driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    host = <myHostName> e.g. myresource.database.windows.net
    port = <myPortNumber> e.g 1433
    databaseName = <myDatabaseName>

    url = <jdbc:sqlserver:myHostName:port;database=myDatabase>
    user = <user>
    password = <password>
    connectionTimeout = "30 seconds"
  }
}
我找不到从Akka.io中使用SQL命令提取任何数据的方法示例。最近的一个位于此链接: [Akka.io Slink JDBC][1]

在这一点上,连接没有错误,但我仍然缺乏使用查询方法从Azure SQL数据库访问和下载的方法

这个看起来像是在创建自己的向量列表

case class User(id: Int, name: String)
val users = (1 to 42).map(i => User(i, s"Name$i"))
结果:向量(用户(1,名称1),用户(2,名称2),…)

有没有一种方法可以从Azure SQL server提取数据?
[1] :

如果要将数据从SQL Server获取到Akka流中,则需要
源,而不是
接收器(用于将数据从Akka写入数据库)

因为Alpakka将JDBC集成推迟到库中,所以可能值得阅读该库

从文档中,您将需要以下内容:

import slick.jdbc.GetResult
import session.profile.api._

case class User(id: Int, name: String)

// Define how to transform result rows (each row being a PositionedResult)
// into Users.  See https://scala-slick.org/doc/3.3.2/sql.html
implicit val getUserFromResult = GetResult(r => User(r.nextInt, r.nextString))

val gotAllUsers: Future[Done] =
  Slick.source(sql"SELECT id, name FROM table".as[User])
    .log("user")
    .runWith(Sink.ignore)

// Wait for the query to complete before exiting, only useful for this example.
Await.result(gotAllUsers, Duration.Inf)
import slick.jdbc.GetResult
import session.profile.api._

case class User(id: Int, name: String)

// Define how to transform result rows (each row being a PositionedResult)
// into Users.  See https://scala-slick.org/doc/3.3.2/sql.html
implicit val getUserFromResult = GetResult(r => User(r.nextInt, r.nextString))

val gotAllUsers: Future[Done] =
  Slick.source(sql"SELECT id, name FROM table".as[User])
    .log("user")
    .runWith(Sink.ignore)

// Wait for the query to complete before exiting, only useful for this example.
Await.result(gotAllUsers, Duration.Inf)