[英]Expose SQL Server database as web service to get data from
是否有任何.NET工具将Microsoft SQL Server中的表数据公开为Web服务? 我必须编写代码吗? 有样品吗? 您对如何公开数据有何建议?
从SQL Server 2005开始,您可以直接从数据库公开本机XML Web服务。
可以将SQL Server配置为通过HTTP端点本地侦听HTTP SOAP请求。 通常,您希望将存储过程或用户定义的函数公开为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评论,请注意SQL Server 2008(2009年11月)中已弃用本机XML Web服务,并且将在SQL Server的未来版本中删除此功能。 Microsoft建议使用WCF Web服务。 来源: MSDN - 原生XML Web服务:在SQL Server 2008中已弃用
Scott Hanselman解释了如何使用Visual Studio 2010从数据库创建OData / Open Data / WCF数据服务:
http://www.hanselman.com/blog/CreatingAnODataAPIForStackOverflowIncludingXMLAndJSONIn30Minutes.aspx
我想你会想要阅读.net Framework 3.5及更高版本的WCF数据服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.