Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用客户端访问数据库或使用服务器访问数据库_Python_Database - Fatal编程技术网

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

Python 使用客户端访问数据库或使用服务器访问数据库,python,database,Python,Database,我正在创建一个需要更新特定数据库的客户机-服务器应用程序。我正在使用python和MySQL client.py文件将读取QRcode并发送要存储在数据库中的随附数据。大约有50个这样的客户端将向服务器发送数据 我已经在服务器上设置了一个MySQL服务器,并且已经为每个客户机创建了表 有两个选项可以操作服务器上的数据库: 客户端直接通过MySQL服务器访问数据库和查询 互联网讲述了访问MySQL记录的一切,我可以使用以下代码实现这一点: client.py import MySQLdb as m

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

哪种方法更好?

没有“最佳”答案,只有权衡

使用直接MySQL连接可以使编程变得更简单、更快(更少的层),但也会使系统变得容易更改


如果您使用客户机/服务器(通过TCP或HTTP),则更容易保护(客户机上没有DB creds,无需向客户机公开MySQL服务器),更容易更改(您可以在不更改客户机的情况下更改表。)

不幸的是,此类问题不适合此网站的格式,请参阅。像这样的问题往往会导致含糊不清的答案,而且很快就会过时。如果我们可以帮助你解决一个特定的问题,请随时发布另一个问题@MartijnPieters我怎样才能使它更具体,或者我应该将它重定向到哪个位置?我会说这是一个白板类型的问题,所以程序员会是一个更好的地方。但是,您需要在此处提供(更多)详细信息,如程序类型、遇到的问题等。否则涉及的变量太多了。@MartijnPieters到目前为止没有涉及任何变量,我怎样才能把它转移到?我担心它会被关闭为NC或NARQ,因为你至少需要在这里展示一些研究成果。