Java에서 MS-SQL 저장 프로 시저를 실행하려고합니다.MS SQL 및 Java : 호출 저장 프로 시저 중 테이블 변수를 찾을 수 없습니다.
프로 시저 매개 변수 중 하나는 테이블 변수입니다 (이 경우 [항목]이라고 함). 별도 스키마 (이 경우 [test])에 정의 된 프로 시저 및 테이블 변수.
프로 시저를 호출하는 동안 "com.microsoft.sqlserver.jdbc.SQLServerException : 열, 매개 변수 또는 변수 @ P1 : 데이터 형식 항목을 찾을 수 없습니다."라는 오류가 발생합니다.
SimpleJdbcCall testCall = new SimpleJdbcCall(jdbcTemplate)
.withSchemaName("[test]")
.withProcedureName("[SomeTestProcedure]")
.withoutProcedureColumnMetaDataAccess()
.declareParameters(
new SqlParameter("Id", Types.INTEGER),
new SqlParameter("Items", microsoft.sql.Types.STRUCTURED));
testCall.compile();
SQLServerDataTable sdt;
try {
sdt = new SQLServerDataTable();
sdt.addColumnMetadata("Name", Types.NVARCHAR);
sdt.addColumnMetadata("Value", Types.INTEGER);
sdt.addRow("DEV", 1);
sdt.addRow("PROD", 2);
} catch (SQLServerException e) {
throw new IllegalStateException(e);
}
testCall.execute(1, sdt);
내가이 문제 해결에 도움을 감사하게 될 것입니다 : MS-SQL 작업을 sqljdbc - 6.0 -
나는 봄의 SimpleJdbcCall 및 Microsoft의 JDBC 드라이버를 사용했다. 감사.