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

时间:2009-12-10 20:39:14

标签: sql-server stored-procedures vb6 ado

有没有办法通过经典ADO将表值参数传递给SQL Server中的存储过程?

2 个答案:

答案 0 :(得分:6)

Classic ADO是COM和OLE,SQL Native Client支持OleDB上的表值参数,请参阅Table-Valued Parameters (OLE DB)。人们不得不把它弄脏并直接编写到OleDB接口(在C / C ++中)。

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

BTW,这里的completness是Table Valued Parameters (ODBC)引用,对于那些ODBC怀旧...

答案 1 :(得分:5)

我认为他们在2008年是新手?

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

因此,如果我可以提出替代方案,我想你想要做的是将某种结构化数据传递给存储过程。我以前在使用XML的ADO中完成了这个:

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

我知道这不是你想要的,但它是一种有效的方法