Я просто пытаюсь выполнить хранимую процедуру CLR из SQL Server 18, которая нацелена на проект базы данных, созданный в Visual Studio 2019, отправив параметр (URL), чтобы попытаться выполнить его в VS,но когда объект WebRequest получает мои параметры, кажется, что WebRequest ничего не делает, и мне нужно вызвать этот URL из другого проекта.
Я попытался использовать класс библиотеки в другом проекте, поместив тудаобъект HttpClient, и он успешно работает.Еще я попробовал создать класс библиотеки в проекте базы данных и попытаться соединить их, чтобы попытаться вызвать метод, который, как я знаю, работает (с объектом HttpClient), но ни один из них не позволяет мне ссылаться на него.* SQL SERVER операторы:
ALTER DATABASE SellerCenter SET TRUSTWORTHY ON
------------------------------------------------
EXEC sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
--------------------------------
CREATE ASSEMBLY [CLR_GetFeed]
FROM 'D:\CLR_SPs\SQL_CLRs.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS
GO
-----------------------------
CREATE PROCEDURE sp_GetFeed
@url nvarchar(2000)
AS
EXTERNAL NAME CLR_GetFeed.StoredProcedures.CLR_GetFeed
GO
-------------------------------------------------------------
EXECUTE sp_GetFeed @url = 'https://localhost:44325/api/order'
.NET код:
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void CLR_GetFeed (SqlString url)
{
SqlContext.Pipe.Send(string.Format($"[{url.ToString()}]"));
WebRequest request = WebRequest.Create(url.ToString());
}
}
Здесь, когда я пытаюсь соединить вышеуказанный метод с этим более низким, но было невозможнопопытаться увидеть CLR_GetFeed (выше) с помощью GetFeedRedirect (ниже):
public class RedirectLinks
{
private static readonly HttpClient client = new HttpClient();
public static async System.Threading.Tasks.Task<string> GetFeedRedirect()
{
string responseString = await client.GetStringAsync("https://localhost:44325/api/order");
return responseString;
}
}
Когда я выполняю SP (sp_GetFeed) с параметром (URL), он запускается успешно и показывает мне URL-адрес в видесообщение в части «Сообщения» в SQL Server, но никогда не выполняет URL-адрес, я имею в виду, мне нужно вызвать внешнюю службу, которая нацелена на API.