2009-11-06 8 views
0

Est-il possible de configurer SQL Server avec un service Web pour recevoir et stocker des données en contournant complètement la couche IIS/ASP.NET?Services Web et SQL Server 2005

Je sais qu'il est possible de configurer un service Web via les points de terminaison HTTP et de renvoyer les données demandées, mais je n'arrive pas à trouver des exemples pour montrer le processus inverse.

Répondre

1

Oui, un exemple here (devx) et MSDN article

Edit:

Nai a découvert qu'il est dépréciée après SQL Server 2008. Ce other BOL article dit:

Planifiez la conversion de vos exis ting Points de terminaison SOAP/HTTP pour utiliser Windows Communications Foundation (WCF) ou ASP.NET.

+0

@gbn: ah brillant. mes compétences google m'ont échoué. une chose cependant. La documentation msdn ici (http://msdn.microsoft.com/en-us/library/ms191310.aspx) montre que l'écoute des demandes de service Web va être obsolète. avez-vous des suggestions pour contourner le problème si SQL Server 2008 est utilisé à la place? – super9

0

Les URL suivantes aideront à comprendre le processus d'installation.

http://codebetter.com/blogs/raymond.lewallen/archive/2005/06/23/65089.aspx

http://www.devx.com/dbzone/Article/28525/0/page/1

procédure stockée

utilisation AdventureWorks go

create procedure dbo.GetEmployees 
As 
select e.employeeid, e.title, c.FirstName + ‘ ‘ + c.Lastname As Fullname from HumanResources.employee e 
inner join person.contact c 
on e.contactid = c.contactid 
go 

Création EndPoint

utilisation AdventureWorks vont

CREATE ENDPOINT GetEmployees 
    STATE = STARTED 
AS HTTP 
(
    PATH = '/Employee', 
    AUTHENTICATION = (INTEGRATED), 
    PORTS = (CLEAR), 
    SITE = 'localhost' 
) 
FOR SOAP 
(
    WEBMETHOD 'EmployeeList' 
     (NAME='AdventureWorks.dbo.GetEmployees'), 
    BATCHES = DISABLED, 
    WSDL = DEFAULT, 
    DATABASE = 'AdventureWorks', 
    NAMESPACE = 'http://AdventureWorks/Employee' 
) 
go 
0

La réponse - si vous ne voulez pas aller avec des bits dépréciés - est d'utiliser WCF.

Si vous avez besoin de faire de nouveaux "services web" à partir d'applications MS, vous devriez utiliser WCF (bien que ce soit légèrement plus stressant que les services web asp.net - c'est aussi beaucoup plus capable). J'ai mis des "services web" entre guillemets parce que vous n'êtes pas limité aux protocoles HTTP avec WCF.

Dans ce contexte, le point clé est que les applications WCF peuvent être auto-hébergées de sorte que vous réduisez votre dépendance à IIS. Je pense que peut-être une déclaration plus claire des exigences - vous avez évidemment des contraintes spécifiques que vous essayez d'aborder - pourrait conduire à une meilleure réponse

Questions connexes