Предоставление базы данных SQL Server в качестве веб-службы для получения данных из

Есть ли какой-либо инструмент .NET для отображения данных моих таблиц в Microsoft SQL Server в качестве веб-служб? Должен ли я писать код? Есть ли образцы? Что вы рекомендуете в отношении того, как выставлять данные?

Ответы

Ответ 1

Пока использовать WCF Data Services может быть вариант, как Антон сказал, вы должны подумать, если это хорошая идея, чтобы обеспечить прямой путь к вашей полной/частичной базе данных.

Другим вариантом является создание уровня доступа к данным, который позволит использовать только небольшой набор операций, например: "вы можете добавить клиента, но вы не можете удалить счет-фактуру"

Ответ 2

Как и в SQL Server 2005, вы можете открывать собственные веб-службы XML непосредственно из базы данных.

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

Обычно вы начинаете с создания хранимой процедуры следующим образом:

CREATE PROCEDURE [dbo].[getContact]
   @ID [int]       
AS
BEGIN
   SELECT * FROM [AdventureWorks].[Person].[Contact] WHERE ContactID = @ID   
END;

И тогда вы бы определили свою конечную точку HTTP следующим образом:

CREATE ENDPOINT SQLEP_GetContact
    STATE = STARTED
AS HTTP
(
    PATH = '/Contact',
    AUTHENTICATION = (INTEGRATED),
    PORTS = (CLEAR),
    SITE = 'localhost'
)
FOR SOAP
(
    WEBMETHOD 'ContactInfo' (NAME='AdventureWorks.dbo.getContact'),
    BATCHES = DISABLED,
    WSDL = DEFAULT,
    DATABASE = 'AdventureWorks',
    NAMESPACE = 'http://AdventureWorks/Contact'
);

После создания конечной точки вы можете отправить HTTP-запрос на сервер, чтобы гарантировать, что конечная точка отвечает: http://localhost/Contact?wsdl.

Чтобы изменить или остановить конечную точку, вы можете использовать команду ALTER ENDPOINT:

ALTER ENDPOINT SQLEP_GetContact
    STATE = STOPPED;

Вы можете продолжить, просмотрев следующие статьи:

ОБНОВЛЕНИЕ: Следуя ниже Ed Harper, обратите внимание, что встроенные веб-службы XML устарели в SQL Server 2008 (ноябрь 2009 г.), и эта функция будет удалена в будущей версии SQL Server. Вместо этого Microsoft предлагает использовать веб-службы WCF. Источник: MSDN - собственные веб-службы XML: устарели в SQL Server 2008

Ответ 4

Я думаю, вам нужно будет читать службы данных WCF, доступные из .net Framework 3.5 и выше.