Задать вопрос
@habrakot

Как обойти ошибку «типы T-SQL и CLR для возвращаемого значения не совпадают.»?

Написал класс с таким кодом
using System;
using System.Data.Sql;
using Microsoft.SqlServer.Server;
using System.Collections;
using System.Data.SqlTypes;
using System.Diagnostics;

public class Class1
{
    [SqlProcedure()]
    public static void methodInt(out SqlInt32 str)
    {
        str = 123;
    }

    public static void  methodString(out SqlString str)
    {
        str = "Строка из dll";
    }
}


В базу библиотеку записал, процедура, работающая с methodInt создается и вполянется, а со строкой не созадется
create function test_func_string (@str nvarchar(4000))
returns nvarchar(4000)
AS external name FifoCpopLibrary.Class1.methodString;


Выдает ошибку
сообщение: 6551, уровень: 16, состояние: 2, процедура: test_func_string, строка: 2 [строка начала пакета: 10]
CREATE FUNCTION для "test_func_string" выполнить не удалось, так как типы T-SQL и CLR для возвращаемого значения не совпадают.


Как решить проблему?
  • Вопрос задан
  • 115 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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