2013-04-13 5 views
0

Я создаю клиентское серверное приложение, в котором мне нужно обновить конкретную базу данных. Я использую python с MySQL.Использование клиента для доступа к базе данных или серверу для доступа к базе данных

В файле client.py будет отображаться QR-код и отправка данных, которые будут храниться в базе данных. Около 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

К сожалению, этот вопрос не соответствует формату этого сайта, см. [FAQ # dontask]. Такие вопросы, как правило, приводят к неопределенным ответам, которые также устарели очень быстро. Если мы сможем помочь вам с конкретной проблемой, не стесняйтесь публиковать еще один вопрос! –

+0

@MartijnPieters Как я могу сделать это более конкретным или перенаправить его на [Programmers] (http://programmers.stackexchange.com/?as=1)? –

+0

Я бы сказал, что это проблема типа Whiteboard, поэтому программисты будут лучше. Тем не менее, вам нужно предоставить (намного) более подробно здесь, например, тип программы, какие проблемы вы столкнулись и т. Д. В противном случае слишком много переменных. –

ответ

0

Нет «лучшего» ответа, только компромиссы.

Использование прямых соединений MySQL упрощает и ускоряет программирование (меньше слоев), но может привести к хрупкости системы.

Если вы идете клиент/сервер (через TCP или HTTP), его легче защитить (нет кликов DB на клиенте, нет необходимости выставлять сервер MySQL клиенту), проще изменить по дороге (вы можете измените таблицу, не меняя клиента.)

Смежные вопросы