我正在创建一个客户端服务器应用程序,我需要在其中更新特定的数据库。我正在使用python与MySQL。
client.py文件将读取QRcode并发送包含在数据库中的数据。大约有50个这样的客户端将数据发送到服务器。
我在服务器上设置了MySQL服务器,并且已经为每个客户端创建了表。
在服务器上操作数据库有两种选择:
客户端直接使用MySQL服务器访问数据库和查询。
互联网说明了访问MySQL记录的一切,我可以使用以下代码完成此任务:
client.py
import MySQLdb as mdb
import sys
con = None
try:
con = mdb.connect('server_address', 'user',
'pass', 'table pertaining to that particular client');
cur = con.cursor()
cur.execute("SELECT VERSION()")
data = cur.fetchone()
print "Database version : %s " % data
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
finally:
if con:
con.close()
或者我可以创建一个server.py文件,它将以JSON的形式获取数据,并且自己在localhost上处理数据库。
哪种方法更好?
答案 0 :(得分:0)
没有“最佳”答案,只能权衡利弊。
使用直接MySQL连接使编程更简单,更快(更少的层),但可以使系统变得脆弱。
如果你去客户端/服务器(通过TCP或HTTP),它更容易保护(客户端没有DB信誉,不需要将MySQL服务器暴露给客户端),更容易改变道路(你可以改变表没有更改客户端。)