SQL71508: модель уже имеет элемент с таким же именем - PullRequest
0 голосов
/ 24 мая 2018

У меня есть функция CLR в моем проекте: я определил функцию как статический метод класса на языке, поддерживаемом .NET Framework.Затем скомпилировал класс для сборки сборки.

[SqlFunction]
public static SqlString InsertCampaignRecipients(SqlString url)
{
    var rowData = string.Empty;
    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
        var response = client.GetAsync(new Uri(url.Value)).Result;
        if (response.IsSuccessStatusCode)
        {
            var result = response.Content.ReadAsStringAsync().Result;
            if (result.IndexOf(@"""Exception"":null}") > 0) //success
            {
                rowData = "success";
            }
            else
            {
                rowData = string.Empty;
            }
        }
        else
        {
            rowData = string.Empty;
        }
    }
    return rowData;
}

Затем я создал функцию, которая ссылается на зарегистрированную сборку, используя инструкцию CREATE FUNCTION:

CREATE FUNCTION [dbo].[InsertCampaignRecipients] (@url NVARCHAR (4000) NULL)
RETURNS NVARCHAR (4000)
AS
  EXTERNAL NAME [SmartTouch.CRM.SqlClrDb].[UserDefinedFunctions].[InsertCampaignRecipients]

И у меня ошибка:

SQL71508: модель уже имеет элемент с таким же именем dbo.InsertCampaignRecipients

Но если я переименую свою функцию SQL, ошибка исчезнет.В чем проблема?

1 Ответ

0 голосов
/ 24 мая 2018

Объект с таким именем уже существует.Вы можете найти, как это выглядит:

SELECT * FROM sys.objects o WHERE o.name ='InsertCampaignRecipients' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...