2011-01-14 62 views
16

我正在开发一个内部iOS应用程序,该应用程序需要对具有多个数据库的SQL Server进行只读访问。我知道这里的股票答案是“编写一些Web服务”,但我想要一个自包含的解决方案。有什么方法可以从iOS应用程序直接连接到SQL Server数据库吗?我在想像一个基本的ODBC连接。从本机iOS查询SQL Server数据库应用程序

我见过很多用户提出这个问题,但除了“编写Web服务”之外,很少有其他答案。这真的是唯一的方法吗?

+0

不要忘记关闭继续查询 – user784625 2013-05-20 06:32:44

回答

0

所以,经过大量的搜索和试验和错误,不幸的是我发现的最好的(唯一的)方式确实使用了Web服务。

幸运的是,Linq to SQL使得创建WCF的一面非常简单。一旦我有人在工作中引导我设置Windows Web服务器并添加Web服务(并购买对在线Web服务器的访问权),Windows端就已启动并准备就绪。

我仍然在研究SOAP交互方面的所有语法内容,但在结构中保留我的不同方法有点类似,可以让我稍微修改一下,直到它工作。这一次,我认为我已经很好地工作了。

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

建议一句话:获得一个真正的外部网络服务器。我试图在我的iMac/MacBook Pro上的非服务器Windows虚拟机上执行此操作,这就像拔牙一样!一旦我真的可以访问一个外部的,完整的,独立的Web服务器,这个过程就更加简化和简单。帮你一个忙,把这个头疼拿出来!

2

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

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

请参见我的博客文章示例代码: http://nickturner.wordpress.com/2012/10/09/107/

+0

嗨,尼克,我检查了你的博客文章。看起来不错!我想知道你是否有机会添加示例代码?谢谢! – mejim707 2013-05-10 01:13:27