¿Existe alguna herramienta .NET para exponer los datos de mis tablas en Microsoft SQL Server como servicios web? ¿Debo escribir el código? ¿Hay alguna muestra? ¿Qué recomienda sobre cómo exponer los datos?Exponer la base de datos de SQL Server como servicio web para obtener datos de
Respuesta
Si bien usar WCF Data Services puede ser una opción, al igual que Anton said, debe considerar si es una buena idea proporcionar una ruta directa a su base de datos completa/parcial.
Otra opción es construir una capa de acceso de datos, lo que permitirá sólo una pequeña hoja de ruta estándar, como: "se puede añadir un cliente, pero que no está permitido eliminar una factura"
Creo que querrá leer sobre los servicios de datos de WCF, disponibles en .net Framework 3.5 y versiones posteriores.
A partir SQL Server 2005 puede exponer servicios web XML nativos directamente desde la base de datos.
SQL Server se puede configurar para escuchar de forma nativa las solicitudes HTTP SOAP a través de un punto final HTTP. En general, le conviene exponer procedimientos almacenados o funciones definidas por el usuario como puntos finales HTTP, por lo que se requiere una pequeña codificación. Pero debería ser muy fácil seguir los ejemplos.
Que normalmente empezar por crear un procedimiento almacenado de la siguiente manera:
CREATE PROCEDURE [dbo].[getContact]
@ID [int]
AS
BEGIN
SELECT * FROM [AdventureWorks].[Person].[Contact] WHERE ContactID = @ID
END;
Y entonces sería definir su extremo de HTTP como esto:
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'
);
Después de crear el punto final, puede presentar una Solicitud HTTP al servidor para asegurarse de que el punto final está respondiendo: http://localhost/Contact?wsdl
.
Para modificar o detener su punto final, puede utilizar el comando ALTER ENDPOINT
:
ALTER ENDPOINT SQLEP_GetContact
STATE = STOPPED;
es posible que desee continuar por el control de los siguientes artículos:
- Devx.com - Easy Web Services with SQL Server 2005 HTTP Endpoints
- MSDN - Overview of Native XML Web Services for Microsoft SQL Server 2005
- Developer.com - Native XML Web Services in SQL Server 2005
ACTUALIZACIÓN: siguiente comentario Ed Harper' s de abajo, por favor, tenga en cuenta que los servicios Web XML nativos han quedado obsoletos en SQL Server 2008 (Noviembre de 2009), y esta característica se quitará en la versión futura de SQL Server. Microsoft sugiere usar servicios web WCF en su lugar. Fuente: MSDN - Native XML Web Services: Deprecated in SQL Server 2008
Vale la pena señalar que los servicios web nativos XML están en desuso en SQL 2008. –
Gracias Ed. No estaba enterado de eso. Fuente: http://msdn.microsoft.com/en-us/library/cc280436.aspx.Actualicé mi respuesta con esto y con la sugerencia de Microsoft de usar WCF. –
Esta característica se ha eliminado por completo en SQL 2012. –
de Scott Hanselman explica cómo crear un/Open Data/WCF Data Service OData a partir de una base de datos utilizando Visual Studio 2010:
http://www.hanselman.com/blog/CreatingAnODataAPIForStackOverflowIncludingXMLAndJSONIn30Minutes.aspx
- 1. Interfaz web para el almacén de datos de SQL Server
- 2. Sincronización entre la base de datos SQL Lite en un dispositivo android y la base de datos SQL Server
- 3. Migraciones de base de datos para SQL Server
- 4. Migrar la base de datos SQLite a Microsoft SQL Server
- 5. Base de datos SQL Azure usando SQL Server Management Studio
- 6. Código para insertar datos en la base de datos de SQL Server usando la biblioteca Enterprise
- 7. ¿Quitar usuario de la base de datos de SQL Server?
- 8. Web Base de datos SQL + Javascript bucle
- 9. Traer la base de datos de SQL Server en línea
- 10. Base de datos de secuencias de comandos SQL-Server
- 11. Utilizando el servicio de datos REST WCF como fuente de datos para servicios de informes SQL
- 12. Administrador de base de datos de SQL Server gratis
- 13. ¿Cómo puedo obtener un volcado de SQL de una base de datos de SQL Server 2008?
- 14. ¿Cómo obtener acceso exclusivo a la base de datos SQL Server 2005 para restaurar?
- 15. Desventajas del uso de SQL Server Compact frente a la base de datos SQL Server dedicada
- 16. Consulta síncrona a la base de datos web SQL
- 17. base de datos de acceso directo vs servicio web
- 18. copiar una base de datos dentro de SQL Server Express?
- 19. Generando un script SQL de datos de mi base de datos (SQL SERVER)
- 20. Exponer la base de datos/tabla MySQL usando REST
- 21. Asegurar una base de datos SQL Server 2008R2
- 22. Mover una tabla de una base de datos a otra base de datos SQL Server
- 23. ¿Cómo crear un proyecto de base de datos desde una base de datos SQL Server existente?
- 24. ¿Actualizar la tabla de la base de datos de una tabla de base de datos de SQL Server a otra?
- 25. Restaurar la base de datos de SQL Server 2008 a SQL Server 2000
- 26. ¿Cómo convertir la base de datos de SQL Server 2008 R2 a SQL Server 2012?
- 27. Esquema de la base de datos para aplicaciones web grandes
- 28. Base de datos predeterminada de SQL Server cuando Query - master
- 29. ¿Cómo escucho de base de datos SQL Server cambia
- 30. Cambiar el nombre del archivo de datos de la base de datos en SQL Server 2005
Sólo para añadir, también se puede escribir ASP.NET Web API y exponer la Api relevante (por ejemplo, datos GET de DB, etc.) según su necesidad. –