使用客户端访问数据库或服务器以访问数据库

时间:2013-04-13 15:18:11

标签: python database

我正在创建一个客户端服务器应用程序,我需要在其中更新特定的数据库。我正在使用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上处理数据库。

哪种方法更好?

1 个答案:

答案 0 :(得分:0)

没有“最佳”答案,只能权衡利弊。

使用直接MySQL连接使编程更简单,更快(更少的层),但可以使系统变得脆弱。

如果你去客户端/服务器(通过TCP或HTTP),它更容易保护(客户端没有DB信誉,不需要将MySQL服务器暴露给客户端),更容易改变道路(你可以改变表没有更改客户端。)