【发布时间】:2019-08-22 10:04:52
【问题描述】:
我在 MySQL 工作台中有数据库,我正在从 shell 运行 Python 代码以连接到我的数据库。
但我无法导入 mysql.connector 或 mysqlDb(从 w3school 得到这个建议)。所以我无法连接到我的数据库。
【问题讨论】:
-
是的,我正在使用 Python。
python
我在 MySQL 工作台中有数据库,我正在从 shell 运行 Python 代码以连接到我的数据库。
但我无法导入 mysql.connector 或 mysqlDb(从 w3school 得到这个建议)。所以我无法连接到我的数据库。
【问题讨论】:
python
我认为这个问题不涉及与 Putty 的连接,而是更多关于在 python 脚本中导入 mysql.connector 的问题。 “但我无法导入 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)
【讨论】:
您可以尝试的一个选项是使用 pymysql。更多信息here。一个代码sn-p如下:
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()
【讨论】: