我试图通过移植一些查询并使它们与MSSQL Server兼容来修改现有的旧版应用程序。已经写了一部分,实际上我正在将TVP与Java代码集成在一起。
但是当我尝试执行代码时,我得到了一个奇怪的异常
java.lang.ClassCastException:
com.microsoft.sqlserver.jdbc.SQLServerCallableStatement无法强制转换 到com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
这是我编写的代码。 MY_NUMBER
实际上是表格类型。
CallableStatement stmt = ((WrappedCallableStatementJDK7) cstmt).getUnderlyingStatement();
SQLServerDataTable tbl = new SQLServerDataTable();
tbl.addColumnMetadata("key", Types.INTEGER);
tbl.addColumnMetadata("value", Types.INTEGER);
tbl.addRow(0, 0);
SQLServerCallableStatement statement = (SQLServerCallableStatement) stmt;
statement.setStructured(thisPSParamObj.getParameterName(), "DBO.MY_NUMBER", tbl);