Табличные Параметры к Процедурам CLR в SQL Server 2008 - возможный?

Существуют подобные проблемы, описанные в другом месте - часто, проблема, кажется, связана с видеокартой -

, Почему мои 12.04 Чередуют начальную загрузку CD к пустому экрану с высвечивающимся курсором?

17
задан philsquared 1 September 2009 в 06:14
поделиться

1 ответ

Я могу найти много больше ссылок . Однако все они предназначены для передачи возвращающих табличное значение параметров в процедуры TSQL, так что от этого мало пользы.

Однако я пришел к выводу, что это невозможно. Во-первых, это список сопоставлений между типами CLR и SQL. Для типов таблиц нет сопоставления, поэтому следующее не работает, например:

[SqlProcedure]
public static void StoredProcedure(DataTable tvp, out int sum)
{
    return 42;
}

, а затем

CREATE TYPE MyTableType AS TABLE 
(
    Id INT NOT NULL PRIMARY KEY,
    [Count] INT NOT NULL
)
GO
CREATE ASSEMBLY ClrTest FROM '<somePath>'
GO
CREATE PROCEDURE ClrTest
AS EXTERNAL NAME ClrTest.StoredProcedures.StoredProcedure
GO

Какой бы тип вы ни попробовали ( DataTable , DbDataReader , IEnumerable ), вызов CREATE PROCEDURE продолжает генерировать ошибку 6552: CREATE PROCEDURE для «ClrTest» не удалось, поскольку типы T-SQL и CLR для параметра «@tvp» не совпадают.

Во-вторых, документация на странице, на которую вы ссылаетесь, говорит: Пользовательский тип таблицы не может быть передан в качестве возвращающего табличное значение параметра в управляемую хранимую процедуру или функцию, выполняемую в процессе SQL Server, или не может быть возвращен из них.

Я не могу нигде найти, как это сделать. создать пользовательский тип таблицы на C #, но это тоже кажется тупиком.

Возможно, вы можете задать свой вопрос где-нибудь на форуме Microsoft. По-прежнему странно, что они упоминают возвращающие табличное значение параметры на странице CLR sproc, но никогда не объясняют, как это реализовать. Если вы найдете какое-либо решение, я хотел бы знать.

Может быть, вы зададите свой вопрос где-нибудь на форуме Microsoft. По-прежнему странно, что они упоминают возвращающие табличное значение параметры на странице CLR sproc, но никогда не объясняют, как это реализовать. Если вы найдете какое-либо решение, я хотел бы знать.

Может быть, вы зададите свой вопрос где-нибудь на форуме Microsoft. По-прежнему странно, что они упоминают возвращающие табличное значение параметры на странице CLR sproc, но никогда не объясняют, как это реализовать. Если вы найдете какое-либо решение, я хотел бы знать.

5
ответ дан 30 November 2019 в 14:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: