繁体   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