當存儲過程包含超過4000個字符時,輸出參數有問題。該響應似乎被JDBC驅動程序截斷了?我怎樣才能得到完整的結果?來自SQL Server存儲過程的輸出參數被截斷爲4000個字符
存儲過程以完整響應(> 4000個字符)回答,但無法從Java中打開它。我已經嘗試了jTDS和Microsoft的JDBC驅動程序6.0。這裏是我的代碼:
CallableStatement pstmt = con.prepareCall("{call sp_horus_get_consultorios_stv(?)}");
pstmt.registerOutParameter(1, -1);
pstmt.setString(1, "");
pstmt.execute();
String sp_horus_get_consultorios_stv = pstmt.getString(1);
這適用於sybase中的存儲過程。
您沒有給我們足夠的信息。然而,magic number 4000讓我覺得你有一個varchar,最大字符數爲4000. –
這是我的代碼: CallableStatement pstmt = con.prepareCall(「{call sp_horus_get_consultorios_stv(?)}」); \t \t \t \t pstmt.registerOutParameter(1,-1); pstmt.setString(1,「」); pstmt.execute(); String sp_horus_get_consultorios_stv = pstmt.getString(1); 這適用於sybase中的存儲過程。答案已完成 –
是的,它看起來像VARCHAR,更多的它必須是CLOB(或BLOB),它的處理方式不同 – Vadim