簡體   English   中英

如何將結構數據類型從Java傳遞到MS SQL數據庫

[英]How pass structure datatype to MS SQL database from Java

我試圖調用一個存儲過程,該存儲過程的一個參數是MS SQL的sqlstructure類型。我已經傳遞了String[] array但是它拋出了此異常

WARNING: #{reportingCharts.getGraphValuesOnLocationBasis}: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [{CALL dbo.up_Chart_SelectPersonCountByRankLocation(?,?,?,?,?)}]; SQL state [null]; error code [0]; The conversion from UNKNOWN to UNKNOWN is unsupported.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from UNKNOWN to UNKNOWN is unsupported.
javax.faces.FacesException: #{reportingCharts.getGraphValuesOnLocationBasis}: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [{CALL dbo.up_Chart_SelectPersonCountByRankLocation(?,?,?,?,?)}]; SQL state [null]; error code [0]; The conversion from UNKNOWN to UNKNOWN is unsupported.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from UNKNOWN to UNKNOWN is unsupported.

因此,我認為它不接受將array作為結構的參數。
不幸的是,我無處可找到關於如何在Java中使用它的示例。
如何將我的數組/列表傳遞給此存儲過程? 還是在Java中SqlDbType.Structured c# SqlDbType.Structured的替代方法?

請參閱Microsoft JDBC驅動程序團隊博客 ,TVP支持的JDBC驅動程序尚未發布。 有一種解決方法:將值打包為二進制形式,在服務器上將其破解,然后將其傳遞給表值函數。 對於JDBC驅動程序,此參數必須以二進制形式傳遞。
看到此鏈接,您將找到Java的所有MSsql數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM