我想从Java代码调用SQL Server 2008中的存储过程。存储过程将用户定义的表类型作为参数(基本上是数组) 请你给我Java语法来调用存储过程并将数组作为输入参数传递
答案 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();
}