Как бы я сделал следующее?Как выполнить команду LOAD DATA изнутри python
import MySQLdb
conn = MySQLdb.connect (
host = settings.DATABASES['default']['HOST'],
port = 3306,
user = settings.DATABASES['default']['USER'],
passwd = settings.DATABASES['default']['PASSWORD'],
db = settings.DATABASES['default']['NAME'],
charset='utf8')
cursor = conn.cursor()
cursor.execute('SELECT COUNT(*) FROM auth_user')
print cursor.fetchall() # this prints, so I know the connection is correct
cursor.execute('''
LOAD DATA INFILE 'a_short.csv' INTO TABLE export
FIELDS TERMINATED BY '|' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
''')
Когда я пытаюсь выше я получаю ошибку «Отказано в доступе» ошибка, но я думаю, что это больше связано с попытками сделать команду LOAD DATA
внутри курсора. Каким будет правильный способ сделать это?
Обновление: Это, по-видимому, ограничение привилегий (отсутствие привилегий «файла») для пользователя в Amazon RDS. Вот один из способов обойти это: how to 'load data infile' on amazon RDS?.
Я действительно не думаю, что это ошибка курсора, ваш пользователь, вероятно, просто не имеет необходимых разрешений – hiperbolt
@HiperBolt, который кажется правильным. – David542
Должен ли я сделать ответ? Я, пожалуйста, проверьте его как правильно <3 – hiperbolt