java - 在sql server 2008中调用带有表类型输入参数的存储过程

标签 java sql-server-2008 stored-procedures jdbc

我想从 Java 代码调用 SQL Server 2008 中的存储过程。存储过程以用户定义的表类型作为参数(基本上是数组) 请给我调用存储过程并将数组作为输入参数传递的 Java 语法

最佳答案

我无法清楚地看到您的存储过程,但这里是任何 JDBC 的传递数组示例。

  try {
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     Connection con = DriverManager.getConnection("jdbc:sqlserver://yourdb.yourco.com:12345;databaseName=MyDataBase;", "user", "password");
     CallableStatement st = con.prepareCall("{call arrayex(?)}");
     Array arr = con.createArrayOf("varchar", new String[]{"ABC","DEF"});
     st.setArray(1, arr);
     st.execute();
     st.close();
     con.close();
  } catch (Exception exp) {
     System.out.println("Error " + exp.getMessage());
     exp.printStackTrace();
  }

关于java - 在sql server 2008中调用带有表类型输入参数的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22033660/

相关文章:

java - 使用 glassfish server 4.1.1 自动部署 web 服务 java?

sql-server-2005 - 数据库 |字符串比较

c# - sql server 2008 企业版建议保留多少开放连接

Sql 先按顺序,再按下一步

sql - 在 SQL Server 2000 中查找存储过程名称及其内容

java - 碰撞检测在贪吃蛇游戏中不起作用

java - Heroku Java EE 的 Procfile

java - Spring Data JpaRepository 方法问题中的 Pageable 和 @Param [2]

mysql - mysql 中的过程

java - 我使用了cursor_loop : loop in sql stored procedure its not fetching all 15 rows it fetch one row only