Я испытываю платформу Concurrence для Stackless Python. Он включает в себя драйвер MySQL и при запуске некоторого кода, который ранее работал с MySQLdb, завершается неудачей.
Что я делаю:
Подключение к базе данных MySQL с использованием dbapi с именем пользователя / паролем / портом / базой данных.
Выполнение SELECT * FROM INFORMATION_SCHEMA.COLUMNS
Это не с сообщением:
Table 'mydatabase.columns' doesn't exist
«mydatabase» - это база данных, указанная мной на шаге 1.
При выполнении того же запроса в консоли MySQL после выдачи «USE mydatabase» он работает отлично.
Проверка сетевого взаимодействия выдает что-то вроде этого:
>>>myusername
>>>scrambled password
>>>mydatabase
>>>CMD 3 SET AUTOCOMMIT = 0
<<<0
>>>CMD 3 SELECT * FROM INFORMATION_SCHEMA.COLUMNS
<<<255
<<<Table 'mydatabase.columns' doesn't exist
Это проблема с драйвером (так как он работает в MySQLdb)? Или я не должен иметь возможность запрашивать INFORMATION_SCHEMA таким образом?
Если я отправлю конкретное «USE INFORMATION_SCHEMA» перед попыткой его запросить, я получу ожидаемый результат. Но я не хочу разбрасывать мой код запросами «USE».