У меня есть определенный пользователем тип, который является датабельным в базе данных SqlServer. Я использую базу данных, DbCommand и т. Д. Для вызова хранимых процедур и получения набора данных. Наборы данных удобны тем, что они могут содержать несколько таблиц.
Теперь я хочу передать Datatable, поэтому я попытался:
string _strComText = "stored_procedure_name_changed_to_protect_the_innocent";
_objCom = _objDB.GetSqlStringCommand(_strComText);
_objDB.AddInParameter(_objCom, "@BASE_ITEMIDS", DbType.Object, dtItemIds);
_objCom.CommandType = CommandType.StoredProcedure;
dataset = _objDB.ExecuteDataSet(_objCom);
Но я получаю исключение, что "@BASE_ITEMIDS" неправильного типа:
«Неверный поток протокола удаленного вызова процедур (RPC) входящего потока табличных данных (TDS). Параметр 1 (\" @ BASE_ITEMIDS \ "): тип данных 0x62 (sql_variant) имеет недопустимый тип для метаданных конкретного типа."
Я видел, как это делается с помощью SqlReader, но можно ли использовать sqlReader для возврата нескольких таблиц? Если моя первая таблица пуста, я не вижу строк в SqlReader.