从scala执行DB_ID sql函数

时间:2017-02-02 22:32:39

标签: sql-server scala jdbc

我想调用SQL Server的DB_ID函数从scala中检索用户数据库的databaseID。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
        val connection: Connection = DriverManager.getConnection(jdbcConnectionString)
    //SELECT database_id FROM sys.databases WHERE Name
    val statement: CallableStatement = connection.prepareCall("{? =call  DB_ID(?)}")
    statement.registerOutParameter(1,java.sql.Types.INTEGER)
    statement.setString(2,s"'ABC_STORE'")
    statement.execute()
    val a = statement.getInt(1)

我收到错误COULD NOT FIND the stored procedure DB_ID

我如何让它发挥作用。

1 个答案:

答案 0 :(得分:0)

如果您statement.setString,则不需要在两个String之间使用''进行更改:

statement.setString(2,s"'ABC_STORE'")

通过

statement.setString(2, "ABC_STORE")

s 2,s"'做的事情确保删除它。

您可以在此处了解更多信息:

Using a Stored Procedure with a Return StatusPrepared Statement doc