måndag, september 19, 2005

Implementera datatjänster med SQL Server 2005

I SQL Server 2005 kan du enkelt skapa en HTTP endpoint till dina lagrade procedurer. Varför inte ha tjänsterna så nära datat som möjligt? Nu finns ju även CLR och .NET Framework till förfogande även i SQL Server.

Anta att du ska implementera en tjänst som returnerar kundinformation. Då måste du först ha en lagrad procedur.


CREATE PROC dbo.spGetCustomerInfo
@CustomerId varchar(10)
AS
SELECT Name, Address, Phone
FROM tblCustomer
WHERE CustomerId = @CustomerId


Sedan skapar man bara en HTTP endpoint enligt:

CREATE ENDPOINT GetCustomerInfo
STATE = STARTED
AS HTTP
(
PATH = '/CRM',
AUTHENTICATION = (INTEGRATED),
PORTS = (CLEAR),
SITE = 'localhost'
)
FOR SOAP
(
WEBMETHOD 'GetCustomerInfo'
(NAME='CRM.dbo.spGetCustomerInfo),
BATCHES = DISABLED,
WSDL = DEFAULT,
DATABASE = 'CRM',
NAMESPACE = 'urn:local/crm'
)
GO


WSDL-filen hittar man under http://localhost/crm?wsdl som innehåller schema information som mappar till SQL:ens interna typer.

Inga kommentarer: