Pyodbc правильно подключается к той же базе данных. Когда я запускаю
SELECT name FROM sys.databases;
SELECT name FROM master.dbo.sysdatabases;
, я получаю список всех БД, которые я вижу в MSSQLSMS.
Когда я смотрю на свой профилировщик событий в SSMS, я вижу, что Pyodbc выполняет действия с кодом в той же базе данных на том же сервере, что и в SSMS. Я вижу свои операторы создания таблицы, операторы выбора, которые я выполняю на Python с Pyodbc и выполняю на моем сервере SQL.
Так почему я не вижу таблицы, созданные в SSMS? Почему, когда я выполняю те же запросы в SSMS, я не вижу таблицу, которую я создал с помощью Pyodbc?
Я очень смущен. Кажется, что Pyodbc правильно подключается к моему локальному серверу SQL и выполняет на нем код SQL, но я не могу просмотреть результаты с помощью SSMS. Я могу найти таблицу с Pyodbc, и Pyodbc и SSMS оба говорят мне, что они смотрят в одни и те же места, но SSMS не видит ничего, что Pyodbc сделал.
РЕДАКТИРОВАТЬ: Решено
conn.autocommit=True
требуется для Pyodbc для внесения постоянных изменений.