首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode连接到MS SQL数据库

Xcode连接到MS SQL数据库
EN

Stack Overflow用户
提问于 2016-08-02 17:45:43
回答 3查看 17.8K关注 0票数 6

我已经在远程MS SQL server上启动并运行了一个现有数据库,我希望能够从Xcode与该数据库进行通信和交互。我正在用SwiftOS X编写一个应用程序,应用程序应该使用的数据存储在该远程数据库中。

问题是,我似乎找不到任何可以连接到基于MS SQL server的数据库的Swift库。到目前为止,我只找到了这个开源库:SQLClient in Objective-C,但是很难设置它,特别是因为我不熟悉Objective-C

此外,每当与数据库进行通信时,我都会看到这个Core-Data库被提及,但据我所知,Core-Data不知道如何连接到MS SQL数据库。

有没有人有将Xcode Swift app连接到远程MS SQL数据库的经验?应该怎么做呢?任何类型的建议都是非常受欢迎的,因为现在我有点纠结于这个问题。

EN

回答 3

Stack Overflow用户

发布于 2016-08-02 17:50:18

理想的方式是用任何服务器端语言编写webservices,比如php、asp等。webservices将与您的mysql数据库通信,而您的swift代码将与webservices通信。

票数 2
EN

Stack Overflow用户

发布于 2016-08-02 18:26:27

我建议使用php编写一个webservice,例如,使用mysql数据并提供json/xml响应:这是一个代码示例,可以帮助您从数据库获取数据并将其解析为json。

代码语言:javascript
运行
复制
function getOneAdminByUserName($cin){

require('connect.php');

//fetch table rows from mysql db
$sql = "SELECT * FROM `admin` WHERE cin= '".$cin."'";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection)); 


if(mysqli_num_rows($result)>0){
    $myArray = array();
while($row =mysqli_fetch_assoc($result))
{
   array_push( $myArray , $row);
}
return json_encode($myArray);   
//return json_encode(mysqli_fetch_assoc($result));
}
else{
return "no";
}

然后你就可以通过AFnetworking 在你的ios应用上使用服务了

代码语言:javascript
运行
复制
 NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:URL.absoluteString parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];
票数 2
EN

Stack Overflow用户

发布于 2016-08-02 18:03:50

对于应用程序(移动、web、任何客户端)来说,为了安全问题直接访问任何数据库都是非常糟糕的。客户端确实不应该访问数据库,因为数据库通常保存非常私密/安全的数据。它打开了漏洞(即sql注入攻击)。

用php或java或某种后端技术编写的一组web服务是更安全、可伸缩的系统。这些web服务可以连接到数据库并检索数据。您的iOS应用程序可以调用web服务并接收XML或JSON形式的data..for示例。

所以你最好使用webservice。

此外,coredata可以使用以下4个持久存储

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38717020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档