Подтвердить что ты не робот

Запросить базу данных SQL Server из собственного приложения iOS

Я работаю над собственным iOS-приложением, которое будет требовать доступ только для чтения к SQL Server с несколькими базами данных. Я знаю, что на складе есть "написать несколько веб-сервисов", но я бы хотел, чтобы решение было самодостаточным. Есть ли способ напрямую подключиться к базе данных SQL Server из приложения iOS? Я думаю, что-то вроде базового соединения ODBC.

Я видел много пользователей, задающих этот вопрос, но очень мало ответов, кроме "писать веб-службу". Это действительно единственный способ?

4b9b3361

Ответ 1

Веб-сервис - это единственный способ, но Red Gate написал один, который вы можете использовать повторно:

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

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

Он официально не выпущен еще в бета-версии, поэтому имейте в виду, что функции и цены могут измениться.

Ответ 2

На самом деле самым простым способом является создание веб-приложения ASP.NET MVC 3 или 4. вызовите веб-методы. Вам не нужен какой-либо API для оплаты.

Я использую SBJson для сериализации объекта домена, а затем отправляю объекты как сериализованные jSOn в MVC 3. Это очень легко сделать. Я даже отправляю изображения с base64, поэтому он совместим с .net.

Смотрите мой блог с образцом кода: http://nickturner.wordpress.com/2012/10/09/107/

Ответ 3

В SQLXML было расширение SQL ISAPI, но я думаю, что он устарел: http://msdn.microsoft.com/en-us/library/aa226559%28v=SQL.80%29.aspx

Это была фактически встроенная и относительно открытая веб-служба, поэтому я не уверен, что это считается прямым подключением.

Вы также можете проверить http://odbcrouter.com/Main

Ответ 4

Итак, после большого поиска и проб и ошибок, к сожалению, лучший (только?) способ, который я нашел, действительно использует веб-службы.

К счастью, Linq to SQL делает работу с WCF невероятно легкой. Как только я получил кого-то на работе, чтобы провести меня через настройку веб-сервера Windows и добавление веб-службы (и доступ к интернет-серверу), сторона Windows была готова и готова к работе.

Я все еще работаю над всеми материалами синтаксиса на стороне взаимодействия SOAP, но при этом мои разные методы несколько схожи по структуре позволяют мне немного помахать, пока это не сработает. К этому времени, я думаю, я получил его работать очень хорошо.

Итак, оба ответа, которые я получил, были (неутешительно) правильными. Единственный способ взаимодействия - через веб-службу. Даже сторонние решения, о которых они упоминали, были действительно удобными обертками вокруг того же типа технологий. Как оказалось, я предпочел бы более тонкий контроль над процессом.

Одно слово совета: Получите настоящий внешний веб-сервер. Я попытался сделать это на не-Server Windows VM на моем iMac/MacBook Pro, и это было похоже на потянув зубы! Как только я действительно получил доступ к внешнему, полному, автономному веб-серверу, процесс был намного более упрощенным и легким. Сделайте себе одолжение и возьмите эту головную боль из уравнения!