2011-01-14 38 views
16

Tôi đang làm việc trên một ứng dụng iOS trong nhà sẽ cần quyền truy cập chỉ đọc vào Máy chủ SQL có nhiều cơ sở dữ liệu. Tôi biết câu trả lời cổ phiếu ở đây là "viết một số dịch vụ web", nhưng tôi muốn một giải pháp tự chứa. Có cách nào để kết nối trực tiếp tới cơ sở dữ liệu SQL Server từ một ứng dụng iOS không? Tôi đang suy nghĩ một cái gì đó giống như một kết nối ODBC cơ bản.Truy vấn Cơ sở dữ liệu SQL Server từ Ứng dụng iOS gốc

Tôi đã nhìn thấy rất nhiều người dùng đặt câu hỏi này, nhưng rất ít câu trả lời khác với "viết một dịch vụ web". Đó thực sự là cách duy nhất?

+0

không quên để đóng kết nối sql sau khi tiến hành truy vấn – user784625

Trả lời

5

Một dịch vụ web thực sự là con đường duy nhất, nhưng viết một Red Gate của bạn có thể tái sử dụng:

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

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

Nó không chính thức phát hành tuy nhiên, chỉ trong bản beta, vì vậy hãy nhớ rằng các tính năng & giá có thể thay đổi.

+2

Điều quan trọng cần lưu ý là các trang web foo điện thoại di động không còn lên. – Undo

0

Vì vậy, sau nhiều lần tìm kiếm và thử nghiệm và lỗi, không may là cách tốt nhất (chỉ?) Mà tôi đã tìm thấy thực sự đang sử dụng Dịch vụ web.

May mắn thay, LINQ to SQL làm cho mặt tạo WCF vô cùng dễ dàng. Một khi tôi có một ai đó trong công việc hướng dẫn tôi thiết lập máy chủ web Windows và thêm dịch vụ web (và mua quyền truy cập vào máy chủ web trực tuyến), phía Windows đã sẵn sàng và sẵn sàng sử dụng.

Tôi vẫn đang làm việc thông qua tất cả các nội dung cú pháp trên phía tương tác SOAP, nhưng giữ các phương pháp khác nhau của tôi hơi giống nhau về cấu trúc cho phép tôi nhắn tin một chút cho đến khi nó hoạt động. Bởi thời gian này, tôi nghĩ rằng tôi đã nhận nó hoạt động khá tốt.

Vì vậy, cả hai câu trả lời tôi nhận được đều (đáng thất vọng) chính xác. Cách duy nhất để tương tác là thông qua một dịch vụ Web. Ngay cả các giải pháp của bên thứ ba mà họ đã đề cập thực sự chỉ là các trình bao bọc thuận tiện xung quanh cùng một loại công nghệ. Khi nó quay ra, tôi muốn có quyền kiểm soát tốt hơn quá trình này.

Một lời khuyên: Nhận một máy chủ web thực, bên ngoài. Tôi đã thử làm điều này trên một máy ảo Windows Server trên iMac/MacBook Pro của tôi, và nó giống như kéo răng! Một khi tôi thực sự có quyền truy cập vào một máy chủ web bên ngoài, đầy đủ, độc lập, quá trình này được sắp xếp hợp lý hơn và dễ dàng hơn. Làm cho bạn một ưu và mất rằng đau đầu ra khỏi phương trình!

2

Thực ra cách dễ nhất là tạo ứng dụng web MVC 3 hoặc 4 asp.net. gọi các phương thức web. Bạn không cần bất kỳ API nào để thanh toán.

Tôi sử dụng SBJson để tuần tự hóa đối tượng miền và sau đó gửi các đối tượng như jSOn được tuần tự hóa lên MVC 3. Thật dễ dàng để thực hiện. Tôi thậm chí gửi hình ảnh với base64, do đó, nó tương thích .net.

Xem bài viết trên blog của tôi với mẫu mã: http://nickturner.wordpress.com/2012/10/09/107/

+0

Xin chào Nick, tôi đã kiểm tra bài đăng trên blog của bạn. Có vẻ tốt! Tôi tự hỏi nếu bạn đã có cơ hội để thêm mã mẫu? Cảm ơn! – mejim707

Các vấn đề liên quan