Предоставление базы данных 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
Ответ 3
Скотт Гензельман объясняет, как создать службу данных OData/Open Data/WCF из базы данных с помощью Visual Studio 2010:
http://www.hanselman.com/blog/CreatingAnODataAPIForStackOverflowIncludingXMLAndJSONIn30Minutes.aspx
Ответ 4
Я думаю, вам нужно будет читать службы данных WCF, доступные из .net Framework 3.5 и выше.