在sql server 2008中使用表类型输入参数调用存储过程

时间:2014-02-26 06:36:39

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

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

1 个答案:

答案 0 :(得分:0)

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

  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();
  }