Подтвердить что ты не робот

Классические ADO и табличные параметры в хранимой процедуре

Есть ли способ передать параметр таблицы для хранимой процедуры в SQL Server через классический ADO?

4b9b3361

Ответ 1

Я думал, что они были новыми в 2008 году?

Во всяком случае, я думаю, что ответ будет отрицательным, я сомневаюсь, что значение DataTypeEnum вы сможете свести к вашим потребностям.

Поэтому, если я могу предложить альтернативу, я предполагаю, что вы хотите передать какие-то структурированные данные в хранимую процедуру. Я сделал это раньше в ADO, используя XML:

  • определить параметр в сохраненном proc как тип xml
  • определить параметр в ADO как тип adLongVarChar с длиной = len (xml) + 1

Я знаю, что это не то, что вы хотели, но это метод, который работает

Ответ 2

Классический ADO - это COM и OLE, а собственный клиент SQL поддерживает параметры таблицы по сравнению с OleDB, см. Табличные параметры (OLE DB). Нужно было бы заманить его руку и код прямо на интерфейсы OleDB (в C/С++).

Также TVP находятся только в SQL 2008, поэтому вы не сможете использовать их в SQL 2005.

BTW, для полноты здесь есть ссылка Таблица значений параметров (ODBC), для ностальгии по ODBC там...