Przekazuję dane z kodu do procedury składowanej w ten sposób.Nie można uzyskać dostępu do zmiennej tabeli w procedurze przechowywanej
DataTable table = CommonFunctions.ToDataTable(request);
object[] spParams = new object[1];
spParams[0] = table;
DbCommand dbCommand =
db.GetStoredProcCommand("OS_UpdateOrgStructureDetails", spParams);
Próbuję uzyskać dostęp do tego parametru w przechowywanym proc.
CratePROCEDURE OS_UpdateOrgUnits
@table OS_RenameNodeTable READONLY
AS
BEGIN
UPDATE OrgUnit
SET DetailName = ut.NewValue
FROM @table ut
INNER JOIN OrgUnit ou ON ou.OrgUnitID = ut.OrgUnitID
END
Ale kiedy wywołanie jest wykonywane do procedury przechowywanej, generuje błąd.
The incoming tabular data stream (TDS) remote procedure call (RPC) protocol
stream is incorrect. Table-valued parameter 1 ("@table"), row 0, column 0:
Data type 0xF3 (user-defined table type) has a non-zero length database name
specified. Database name is not allowed with a table-valued parameter, only
schema name and type name are valid.
Nie można rozwiązać problemu.
To może pomóc http://msdn.microsoft. com/en-us/library/bb510489 (SQL.100) .aspx –