大佬教程收集整理的这篇文章主要介绍了如何将用户定义的表类型传递给Java的MSSQL请求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您不能使用JDBC传递TVP。正如他们两年前提到的那样,Microsoft JDBC团队仍在为此进行工作。参考链接:
you-use-table-valued-parameters-tvp.aspX) ://blogs.msdn.com/b/jdbcteam/archive/2012/04/03/how-would-you-use-table- valued-parameters- tvp.aspx
通过在过程主体中传递XML参数和OPENXML()来尝试一些替代解决方案,而不是使用TVP。
给定一个简单的存储过程,该存储过程具有一个以整数列作为参数的表:
CREATE PROCEDURE [dbo].[table_sel]
@tbl INT32Table READONLY
AS
BEGIN
SET NOCOUNT ON;
SELECT value FROM @tbl
END
如何从Java执行此存储过程?从C#,这就是我想要的:
SqlConnection sqlconn;
System.Data.DataTable tbl = new System.Data.DataTable("INT32Table","dbo");
tbl.columns.Add("value",typeof(int));
tbl.Rows.Add(2);
tbl.Rows.Add(3);
tbl.Rows.Add(5);
tbl.Rows.Add(7);
tbl.Rows.Add(11);
using (SqlCommand command = new SqlCommand("table_sel"))
{
command.Connection = sqlconn;
command.Parameters.AddWithValue("@tbl",tbl);
command.CommandType = System.Data.CommandType.StoredProcedure;
SqlDataReader reader = command.ExecuteReader();
//do stuff
}
以上是大佬教程为你收集整理的如何将用户定义的表类型传递给Java的MSSQL请求全部内容,希望文章能够帮你解决如何将用户定义的表类型传递给Java的MSSQL请求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。