数据库未显示在pyodbc中但存在于Sql Server Management Studio中

时间:2018-02-20 01:47:19

标签: python sql-server pyodbc

当我在这个脚本中运行这两个语句中的任何一个时:

SELECT name FROM sys.databases
SELECT name FROM master.dbo.sysdatabases

在Sql Server Management Studio中我得到了

  

名称

           

主人

     

tempdb

     

模型

     

msdb

     

foofoo

     

unitoo

     

(受影响的6行)

其中tempdb,foofoo和unitoo是我创建的数据库。 现在查看Managment Studio中的对象资源管理器,tempdb位于系统数据库下,而其他两个位于数据库/ foofoo数据库是由这个ddl:

创建的
use master  
go
create database "foofoo"
go
use master
go

现在当我运行这个python代码时:

    import pyodbc
    def PrintOutListOfLocalDatabases():
        connStr = (
        r"DRIVER={SQL Server Native Client 11.0};"
        r"SERVER=(localdb)\MSSQLLocalDB;"
        r"Integrated Security=true;")
        cnxn = pyodbc.connect(connStr, autocommit=True)
        crsr = cnxn.execute("SELECT name FROM sys.databases")
        for row in crsr.fetchall():
            print(row[0])

        crsr.close()
        cnxn.close()

我得到了

  

主人

     

tempdb

     

模型

     

msdb中

数据库下的两个数据库未显示。如果我浏览到文件资源管理器中的sql server Data目录,我会在同一个地方看到所有6个数据库的.mdf和.ldf文件。

为什么我创建的三个数据库中有两个在运行python代码时没有返回?

0 个答案:

没有答案