2011-01-14 99 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