在工作中,我们的一个主要数据库在 MS SQL Server 上运行。我想是2008年。
我目前正在通过 Linux 主机上的 UnixODBC 和 FreeTDS 访问它。不幸的是,我们的管理员不支持 UnixODBC/FreeTDS,所以它落在了我身上。对于长期策略,我想使用 SOAP 或 REST 调用来摆脱 ODBC 并切换到 HTTP。使用 HTTP 进行安装要容易得多,并且大多数语言都可以理解它,至少是我开发的 Perl、Python 和 Ruby。
我们已经在数据库上为一些 Java 进程设置了相当数量的 SOAP 调用,所以我们可以很容易地切换到那个。我们也在讨论 REST,我喜欢它,因为它更轻量。我们的 DBA 没有设置任何 REST 接口,所以我想知道是否有用于 SQL Server 的插件或工具,可以对表进行简单的 REST 映射,让我们快速入门。我考虑过在 Ruby 的 Sinatra 中写一些东西,但那将是我的另一件事。
我搜索了“SQL Server + rest”,但很明显谷歌会用“REST”这个词做错事,因此没有找到任何值得的东西。因此,如果您有提供 REST 的经验并认为它是一个很好的工具,那么请加入。
如果您使用的是 SQL Server 2008 R2,我建议您查看开放数据协议(也称为 OData)。Microsoft 也有一些常见问题解答,并且有可用的 Java 客户端库。
另请查看sqlREST,它使用 Web 服务公开关系数据库,并与大多数具有 JDBC 驱动程序的数据库一起使用。
背景
来自维基百科RESTful API
来自 MSDN 文章Anti-Patterns To Avoid In N-Tier Applications
执行
WCF 数据服务“ADO.NET 数据服务通过通过 HTTP 访问的 Web 服务公开表示为实体数据模型 (EDM) 对象的数据。可以使用类似 REST 的 URI 来寻址数据”
或者对于完全定制的版本,请查看:Canonical REST Entity Service “演示使用 WCF 4 构建的 REST 服务,该服务完全符合使用 GET、PUT、POST、DELETE 的 HTTP 规范,并包括用于测试合规性的单元测试”
我为 DreamFactory Software 工作,我们有一些可能会有所帮助的东西。DreamFactory 是一个免费的开源 REST API 后端,可连接到任何 SQL 数据库,包括 SQL Server。连接数据库,您将获得 45 个服务,包括存储过程、SQL 视图等。查询过滤器 API 非常广泛,具有排序、提交和回滚、分页、过滤器和相关对象。DreamFactory 2.0 还具有 SOAP 转换功能。