从本机iOS应用程序查询SQL Server数据库

时间:2011-01-14 13:15:49

标签: sql-server ios

我正在开发一个内部的iOS应用程序,该应用程序需要只读访问具有多个数据库的SQL Server。我知道这里的股票答案是“写一些Web服务”,但我想要一个独立的解决方案。有没有办法从iOS应用程序直接连接到SQL Server数据库?我在想类似于基本的ODBC连接。

我看到很多用户都在问这个问题,但除了“编写网络服务”之外,答案很少。这真的是唯一的方法吗?

4 个答案:

答案 0 :(得分:5)

Web服务确实是唯一的方法,但Red Gate是您可以重复使用的一种方式:

http://www.mobilefoo.com/iSqlServerSDK.html

http://labs.red-gate.com/Tools/Details/iSqlSDK

它还没有正式发布,只是测试版,所以请记住这些功能和功能。价格可能会发生变化。

答案 1 :(得分:2)

实际上最简单的方法是创建一个MVC 3或4 asp.net Web应用程序。调用web方法。您不需要任何API来支付费用。

我使用SBJson序列化域对象,然后将对象作为序列化的jSOn发送到MVC 3.这非常容易。我甚至用base64发送图像,所以它是.net兼容的。

使用示例代码查看我的博文: http://nickturner.wordpress.com/2012/10/09/107/

答案 2 :(得分:1)

所以,经过大量的搜索和反复试验,遗憾的是我发现的最佳(唯一?)方式确实是使用Web服务。

幸运的是,Linq to SQL使得WCF创建方面非常容易。一旦我找到工作人员来指导我设置Windows Web服务器并添加Web服务(并购买对在线Web服务器的访问权限),Windows方面就已经准备好了。

我仍在研究SOAP交互方面的所有语法内容,但保持我的不同方法在结构上有些相似,这让我可以修改一下,直到它工作。到这个时候,我想我已经把它运作得很好了。

所以,我回来的两个答案都是(令人失望的)正确的。唯一的交互方式是通过Web服务。即使他们提到的第三方解决方案也只是围绕相同类型技术的方便包装。事实证明,我宁愿对这个过程有更好的控制。

建议之一:获取真实的外部Web服务器。我尝试在iMac / MacBook Pro上的非服务器Windows VM上执行此操作,这就像拔牙一样!一旦我实际访问了一个外部的,完整的,独立的Web服务器,该过程就更加简化和简单。帮自己一个忙,把这个头痛排除在外!

答案 3 :(得分:0)

作为SQLXML的一部分,有一个SQL ISAPI扩展,但我认为它已被弃用:http://msdn.microsoft.com/en-us/library/aa226559%28v=SQL.80%29.aspx

这实际上是一个预先构建且相对开放的Web服务 - 所以我不确定这是否算作直接连接。

您还可以查看http://odbcrouter.com/Main