日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Scala,巧妙連接到MSSQL服務器的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在嘗試使用SLICK框架連接到MSSQL數據庫。下面的代碼顯示了我的第一次嘗試,但我找不出哪里出了問題。

離開時出現此錯誤,如下所示:
[1]Value Create不是scala.slick.lifted.DDL的成員

現在我刪除該行,因為我不一定需要在Scala代碼中創建表。但隨后又出現了另一個錯誤:
[2]值映射不是對象asd.asd.App.Coffee的成員

package asd.asd

import scala.slick.driver.SQLServerDriver._
import scala.slick.session.Database.threadLocalSession

object App {

object Coffees extends Table[(String, Int, Double)]("COFFEES") {
  def name = column[String]("COF_NAME", O.PrimaryKey)
  def supID = column[Int]("SUP_ID")
  def price = column[Double]("PRICE")
  def * = name ~ supID ~ price
}

  def main(args : Array[String]) {
    println( "Hello World!" )

    val db = slick.session.Database.forURL(url = "jdbc:jtds:sqlserver", user = "test", password = "test", driver = "scala.slick.driver.SQLServerDriver")

    db withSession {

      Coffees.ddl.create [1]

//        Coffees.insertAll(
//            ("Colombian",         101, 7.99),
//          ("Colombian_Decaf",   101, 8.99),
//          ("French_Roast_Decaf", 49, 9.99)
//        )

        val q = for {
            c <- Coffees [2]
        } yield (c.name, c.price, c.supID)

        println(q.selectStatement)

        q.foreach { case (n, p, s) => println(n + ": " + p) }
    }
  }

}

推薦答案

問題已解決。我所做的如下:更新到最新的SLICK版本,然后調整代碼,如演示的here。之后您需要調換線路

import scala.slick.driver.H2Driver.simple._

import scala.slick.driver.SQLServerDriver.simple._

并將連接字符串修改為

[...]
Database.forURL("jdbc:jtds:sqlserver://localhost:1433/<DB>;instance=<INSTANCE>", driver = "scala.slick.driver.SQLServerDriver") withSession {
[...]

解決了這個問題后,我決定使用C3P0池連接(這使Slick速度非常快,因此是第一個可用的,我強烈建議使用連接池!)。這給我留下了以下數據庫對象。

package utils

import scala.slick.driver.SQLServerDriver.simple._
import com.mchange.v2.c3p0.ComboPooledDataSource

object DatabaseUtils {
    private val ds = new ComboPooledDataSource
    ds.setDriverClass("scala.slick.driver.SQLServerDriver")
    ds.setUser("supervisor")
    ds.setPassword("password1")
    ds.setMaxPoolSize(20)
    ds.setMinPoolSize(3)
    ds.setTestConnectionOnCheckin(true)
    ds.setIdleConnectionTestPeriod(300)
    ds.setMaxIdleTimeExcessConnections(240)
    ds.setAcquireIncrement(1)
    ds.setJdbcUrl("jdbc:jtds:sqlserver://localhost:1433/db_test;instance=SQLEXPRESS")
    ds.setPreferredTestQuery("SELECT 1")
    private val _database = Database.forDataSource(ds)

    def database = _database
}

您可以如下所示使用它。

DatabaseUtils.database withSession {
    implicit session =>
    [...]
}

上一個C3P0的Maven依賴項和最新的Slick版本。

<dependency>
  <groupId>com.typesafe.slick</groupId>
  <artifactId>slick_2.10</artifactId>
  <version>2.0.0-M3</version>
</dependency>
<dependency>
  <groupId>com.mchange</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.2.1</version>
</dependency>

這篇關于Scala,巧妙連接到MSSQL服務器的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:errorScala exception IT資訊 scala slick SlickconnecttoMSSQLserver sql-server 
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定