Как подключить MySQL верстак из оболочки с помощью Python? - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть база данных в MySQL, и я запускаю код Python из оболочки для подключения к моей базе данных.

Но я не могу импортировать mysql.connector или mysqlDb (получил это предложение от w3school).Поэтому я не могу подключиться к своей базе данных.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Опция, которую вы можете попробовать, это использовать pymysql. Подробнее здесь . Фрагмент кода следующий:

import pymysql.cursors

connection = pymysql.connect(host='IP',
                         port=3306,
                         user='user',
                         password='pass',                             
                         db='database',
                         charset='utf8mb4',
                         autocommit=True,
                         cursorclass=pymysql.cursors.DictCursor)

with connection.cursor() as cursor:
    query = 'Your query'
    cursor.execute(query)

connection.close()
0 голосов
/ 01 апреля 2019

Я думаю, что вопрос не касается соединения с Putty, а больше об импорте mysql.connector в ваш скрипт на python. "Но я не могу импортировать mysql.connector или mysqlDb (получил эту форму предложения w3school)" - Вам будет легче помочь, если ваш код прикреплен к вашему сообщению.

import mysql.connector

cnx = mysql.connector.connect(########)

думаю, этот фрагмент кода будет вам полезен. "Загрузка файла из Oracle"

def load_file(DT):
ip = ######
port = #####
service_name = '#####'
dsn = cx_Oracle.makedsn(ip, port, service_name=service_name)
t = datetime.now().strftime("%Y%m%d%H%M%S")
SQL = "select name...."
fn = "/root/..." + t + ".csv"
fn_tmp = "/root/.." + t + ".csv"
FILE = open(fn_tmp, "w")
FILE.write(
    'name...;' + '\n')
out = csv.writer(FILE, delimiter=';')
logging.info("Database connect " + t)
try:
    conn = cx_Oracle.connect('####', '###', dsn)
    cur = conn.cursor()
    cur.execute(SQL)
except cx_Oracle.DatabaseError, exc:
    conn = None
    error, = exc.args
    logging.error(
        "Oracle connection problem Error Code:{0}".format(str(error).decode("####",
                                                                            "ignore").encode("utf-8",
                                                                                             "ignore"))
    )
for row in cur:
    out.writerow(localize_floats(row))
logging.info("Database disconnect " + t)
try:
    cur.close()
    conn.close()
except cx_Oracle.DatabaseError, exc:
    error, = exc.argsgv[0]
    logging.error("Oracle-Error-Code:{0}".format(str(error).decode("####",
                                                                   "ignore").encode("utf-8",
                                                                                    "ignore"))
                  )
FILE.close()
os.rename(fn_tmp, fn)
...