Sql server 存储过程中的经典ADO和表值参数

Sql server 存储过程中的经典ADO和表值参数,sql-server,stored-procedures,vb6,ado,Sql Server,Stored Procedures,Vb6,Ado,是否有某种方法可以通过经典的ADO将表值参数传递给SQL Server中的存储过程?我认为它们在2008年是新出现的 无论如何,我认为答案是否定的,我怀疑有一个DataTypeEnum值可以满足您的需要 因此,如果我可以建议一种替代方法,我想您要做的是将某种结构化数据传递到存储过程中。我以前使用XML在ADO中完成过这项工作: 将存储过程中的参数定义为xml类型 将ADO中的参数定义为adLongVarChar类型,长度为len(xml)+1 我知道这不是您想要的,但它是一种有效的方法,经典

是否有某种方法可以通过经典的ADO将表值参数传递给SQL Server中的存储过程?

我认为它们在2008年是新出现的

无论如何,我认为答案是否定的,我怀疑有一个DataTypeEnum值可以满足您的需要

因此,如果我可以建议一种替代方法,我想您要做的是将某种结构化数据传递到存储过程中。我以前使用XML在ADO中完成过这项工作:

  • 将存储过程中的参数定义为xml类型
  • 将ADO中的参数定义为adLongVarChar类型,长度为len(xml)+1

我知道这不是您想要的,但它是一种有效的方法,经典的ADO是COM和OLE,SQL本机客户端支持OleDB上的表值参数,请参阅。你必须把它的手弄脏,直接编码到OleDB接口(在C/C++中)

此外,TVP仅在SQL 2008中使用,因此您将无法在SQL 2005中使用它们


顺便说一句,为了完整性,这里是ODBC怀旧的参考…

什么版本的SQL server?在2005年之前,不可能将表变量作为SP的参数。