Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pyodbc可以创建/更改表,但我在SSMS中看不到它们_Python_Sql Server_Ssms_Pyodbc - Fatal编程技术网

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

Python Pyodbc可以创建/更改表,但我在SSMS中看不到它们,python,sql-server,ssms,pyodbc,Python,Sql Server,Ssms,Pyodbc,Pyodbc正在正确连接到同一数据库。当我跑的时候 从sys.databases中选择名称 从master.dbo.sysdatabases中选择名称 我可以在MSSQLSMS中看到所有数据库的列表 当我在SSMS中查看事件探查器时,我可以看到Pyodbc正在同一服务器中的同一数据库上执行代码操作,就像我在SSMS中看到的一样。我看到我的CREATETABLE语句、select语句,这些语句是在Python中使用Pyodbc运行的,在我的SQL server上执行的 那么为什么我看不到我在SSM

Pyodbc正在正确连接到同一数据库。当我跑的时候

从sys.databases中选择名称

从master.dbo.sysdatabases中选择名称

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

当我在SSMS中查看事件探查器时,我可以看到Pyodbc正在同一服务器中的同一数据库上执行代码操作,就像我在SSMS中看到的一样。我看到我的CREATETABLE语句、select语句,这些语句是在Python中使用Pyodbc运行的,在我的SQL server上执行的

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

我非常困惑。Pyodbc似乎已正确连接到本地SQL server,并在其上执行SQL代码,但我无法使用SSMS查看结果。我可以用Pyodbc找到这个表,Pyodbc和SSMS都告诉我他们在看相同的地方,但是SSMS看不到Pyodbc做了什么

编辑:已解决


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

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

两个想法。A您可能需要刷新intellisense,2您的登录与代码中的登录不同—一个可以访问表,另一个不能。我从那里开始,我不知道什么是智能感知。重新登录:'Driver={ODBC Driver 17 for SQL Server};'服务器=服务器名;“”数据库=dbname;“”Trusted_Connection=Yes'是我的连接格式。Pyodbc必须具有对表的访问权限,因为当我对表运行select*from语句时,我是在服务器上用它创建的!,它会正确显示它们的内容。如果我以windows auth作为唯一的管理员和用户登录,SSMS不应该总是可以访问所有内容吗?你确定它是SQL Server的同一个实例吗?您可以在同一台计算机上运行多个。Intellisense是一种在SSM和其他程序中执行所有弹出式建议的工具。我想这可能只是一个问题,您需要刷新缓存才能看到表。重新启动SSMS具有相同的效果。已尝试重新启动SSMS,没有更改。据我所知,我只有一个SQL server实例在这台计算机上运行,Pyodbc只能连接到我正在运行的实例-如果命名实例都不存在,它会创建实例吗?如果您没有将autocommit设置为True,那么您是否记得提交更改?