我想调用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
。
我如何让它发挥作用。
答案 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 Status和Prepared Statement doc