【问题标题】:Calling stored procedure with table type input parameter in sql server 2008在 sql server 2008 中使用表类型输入参数调用存储过程
【发布时间】:2014-03-28 19:47:54
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

我无法清楚地看到您的存储过程,但这里是任何 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.SQLFeatureNotSupportedException:不支持此操作。存储过程采用表值参数,因为 pl/sql 不支持数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多