Sql server 从scala执行DB_ID sql函数

Sql server 从scala执行DB_ID sql函数,sql-server,scala,jdbc,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 Nam

我想调用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)
我收到一个错误
无法找到存储过程DB\u ID


如何使其工作。

如果您做出
声明。setString
您不需要在两个
''
之间使用
字符串,因此更改:

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

s
2,s“
中执行的操作请确保将其删除

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

statement.setString(2, "ABC_STORE")