我想在线托管我的SQLite数据库,但我不知道如何导入它。现在,该表正在默认文档目录中创建。这是我的代码:
import UIKit
import SQLite
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {
var database: Connection!
let boxesTable = Table("boxes1")
let ID = Expression<Int>("ID")
let SNO = Expression<String>("Serial_Number")
let condition = Expression<String>("Condition")
override func viewDidLoad() {
super.viewDidLoad()
do{
let doucumentDirectory = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let fileUrl = doucumentDirectory.appendingPathComponent("boxes1").appendingPathExtension("sqlite3")
let database = try Connection(fileUrl.path)
self.database = database
}catch{
print(error)
}
let createTable = self.boxesTable.create { (table) in
table.column(self.ID, primaryKey: true)
table.column(self.SNO, unique: true)
table.column(self.condition)
}
do{
try self.database.run(createTable)
print("Created Table")
}catch{
print(error)
}
}
这是我的sqlite数据库的链接: -
https://drive.google.com/open?id=0B7H7vc34uAM6WEVKUC1YeFQ5VkE
我使用Swift 3为此链接提供了可编辑的访问权限。
还有一个问题:我是否直接提供指向我的文件夹或文件的链接?
答案 0 :(得分:1)
你不应该这样做。 SQLite不是像常规数据库那样在主机上使用的设计。
SQLite是一个库,您的真实数据只是磁盘上的文件。要在线使用它,就必须使用服务器并使该服务器使用SQLite库在SQLite数据库文件上编写。
但SQLite并非设计用于服务器。
SQLite是一个实现自包含的进程内库 无服务器,零配置,事务性SQL数据库引擎。
SQLite是一个嵌入式SQL数据库引擎。与大多数其他SQL不同 数据库,SQLite没有单独的服务器进程。的 SQLite的 直接读取和写入普通磁盘文件。
为此,您应该使用其他服务,例如Firebase。