我已经在远程MS SQL server
上启动并运行了一个现有数据库,我希望能够从Xcode
与该数据库进行通信和交互。我正在用Swift
为OS X
编写一个应用程序,应用程序应该使用的数据存储在该远程数据库中。
问题是,我似乎找不到任何可以连接到基于MS SQL server
的数据库的Swift
库。到目前为止,我只找到了这个开源库:SQLClient in Objective-C,但是很难设置它,特别是因为我不熟悉Objective-C
。
此外,每当与数据库进行通信时,我都会看到这个Core-Data
库被提及,但据我所知,Core-Data
不知道如何连接到MS SQL
数据库。
有没有人有将Xcode Swift app
连接到远程MS SQL
数据库的经验?应该怎么做呢?任何类型的建议都是非常受欢迎的,因为现在我有点纠结于这个问题。
发布于 2016-08-02 17:50:18
理想的方式是用任何服务器端语言编写webservices,比如php、asp等。webservices将与您的mysql数据库通信,而您的swift代码将与webservices通信。
发布于 2016-08-02 18:26:27
我建议使用php编写一个webservice,例如,使用mysql数据并提供json/xml响应:这是一个代码示例,可以帮助您从数据库获取数据并将其解析为json。
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应用上使用服务了
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);
}];
发布于 2016-08-02 18:03:50
对于应用程序(移动、web、任何客户端)来说,为了安全问题直接访问任何数据库都是非常糟糕的。客户端确实不应该访问数据库,因为数据库通常保存非常私密/安全的数据。它打开了漏洞(即sql注入攻击)。
用php或java或某种后端技术编写的一组web服务是更安全、可伸缩的系统。这些web服务可以连接到数据库并检索数据。您的iOS应用程序可以调用web服务并接收XML或JSON形式的data..for示例。
所以你最好使用webservice。
此外,coredata可以使用以下4个持久存储
https://stackoverflow.com/questions/38717020
复制相似问题