Python 使用客户端访问数据库或使用服务器访问数据库
我正在创建一个需要更新特定数据库的客户机-服务器应用程序。我正在使用python和MySQL client.py文件将读取QRcode并发送要存储在数据库中的随附数据。大约有50个这样的客户端将向服务器发送数据 我已经在服务器上设置了一个MySQL服务器,并且已经为每个客户机创建了表 有两个选项可以操作服务器上的数据库: 客户端直接通过MySQL服务器访问数据库和查询 互联网讲述了访问MySQL记录的一切,我可以使用以下代码实现这一点: client.pyPython 使用客户端访问数据库或使用服务器访问数据库,python,database,Python,Database,我正在创建一个需要更新特定数据库的客户机-服务器应用程序。我正在使用python和MySQL client.py文件将读取QRcode并发送要存储在数据库中的随附数据。大约有50个这样的客户端将向服务器发送数据 我已经在服务器上设置了一个MySQL服务器,并且已经为每个客户机创建了表 有两个选项可以操作服务器上的数据库: 客户端直接通过MySQL服务器访问数据库和查询 互联网讲述了访问MySQL记录的一切,我可以使用以下代码实现这一点: client.py import MySQLdb as m
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上的数据库
哪种方法更好?没有“最佳”答案,只有权衡
使用直接MySQL连接可以使编程变得更简单、更快(更少的层),但也会使系统变得容易更改
如果您使用客户机/服务器(通过TCP或HTTP),则更容易保护(客户机上没有DB creds,无需向客户机公开MySQL服务器),更容易更改(您可以在不更改客户机的情况下更改表。)不幸的是,此类问题不适合此网站的格式,请参阅。像这样的问题往往会导致含糊不清的答案,而且很快就会过时。如果我们可以帮助你解决一个特定的问题,请随时发布另一个问题@MartijnPieters我怎样才能使它更具体,或者我应该将它重定向到哪个位置?我会说这是一个白板类型的问题,所以程序员会是一个更好的地方。但是,您需要在此处提供(更多)详细信息,如程序类型、遇到的问题等。否则涉及的变量太多了。@MartijnPieters到目前为止没有涉及任何变量,我怎样才能把它转移到?我担心它会被关闭为NC或NARQ,因为你至少需要在这里展示一些研究成果。