Pyodbc可以创建/更改表,但在SSMS中看不到它们

问题描述 投票:0回答:1

Pyodbc正确连接到同一数据库。当我运行

SELECT name FROM sys.databases;

SELECT name FROM master.dbo.sysdatabases;

我获得了在MSSQLSMS中可以看到的所有数据库的列表。

[当我在SSMS中查看事件事件探查器时,可以看到Pyodbc在与SSMS相同的同一服务器上的同一数据库上执行代码操作。我看到我的create table语句,select语句,它们正在Pyodbc中以Python运行,并在SQL服务器上执行。

所以为什么我看不到在SSMS中创建的表?为什么当我在SSMS中运行相同的查询时,看不到使用Pyodbc创建的表?

我非常困惑。 Pyodbc似乎正确连接到我的本地SQL服务器,并在其上执行SQL代码,但是我无法使用SSMS查看结果。我可以在Pyodbc上找到表格,Pyodbc和SSMS都告诉我他们在同一地方看,但是SSMS看不到Pyodbc所做的任何事情。

编辑:已解决

conn.autocommit=True是Pyodbc进行永久更改所必需的。

python sql-server ssms pyodbc
1个回答
0
投票

SQL Server允许某些DDL语句(例如CREATE TABLE)在事务内部执行。因此,如果我们在连接上没有指定commit(),我们还必须记住autocommit=True这些更改。

© www.soinside.com 2019 - 2024. All rights reserved.