배열을 입력 매개 변수로 사용하는 SQL Server 2008의 저장 프로 시저가 있습니다. http://www.sommarskog.se/arrays-in-sql-2008.html에 따르면 TVP를 사용합니다. 그러나 이것은 MSSQL JDBC 드라이버에서 지원되지 않습니다. 따라서 배열 매개 변수를 전달할 수 없기 때문에 SimpleJdbcCall을 사용하여 저장 프로 시저를 실행할 수 없습니다. 나는이 절차를 아래와 같이 전화의 JdbcTemplate을 사용하여 다시 설정 :SQL Server : jdbctemplate을 사용하여 여러 결과 집합을 반환하는 저장 프로 시저에 배열을 전달하는 방법
StringBuilder sb = new StringBuilder();
sb.append("declare @d object_url_type;");
sb.append("insert into @d values (0, 'http://example.com', '/index.html', '');");
sb.append("insert into @d values (0, 'http://example.com', '/help.html', '');");
sb.append("exec procedure_name @[email protected], @id=123");
jdbcTemplate.query(sb.toString(), new BeanPropertyRowMapper(ObjectData.class));
내가 가진 문제는 저장 프로 시저가 두 개의 결과 집합을 반환합니다. 하지만 jdbcTemplate을 사용하여 첫 번째 결과 집합 만 검색 할 수있는 것처럼 보입니다. SimpleJdbcCall을 사용할 수 있다면 두 개의 결과 집합을 쉽게 구분할 수 있지만 불행히도 사용할 수는 없습니다. 나는 많이 봤지만이 문제에 대한 해결책을 찾을 수 없습니다. 누구 pls이 날 도와 드릴까요? 나는 원시 JDBC 방식을 사용하기 위해 돌아갈 것이라고 생각한다.