服务器不存在或访问被拒绝

时间:2017-05-28 13:05:09

标签: python sql-server visual-studio-2015

我在下面编写了使用Python从Visual Studio连接SQL Server数据库的代码:

 import pyodbc
con = pyodbc.connect('Driver={SQL Server};Server=localhost;Database=ReportServerTempDB;Trusted_Connection=yes')
cur = con.cursor()
  cur.execute("select [User], [datetime] FROM [ReportServerTempDB].[dbo].
[DBUpgradeHistory]")

 for row in cur:
    print (row.user + "," + row.datetime)
    #print row[0] + "," + row[1]
   cur.close()
 con.close()

但是,我收到的错误是这样的:

  

回溯(最近一次调用最后一次):文件" IronPythonApplication1.py",   第2行,con = pyodbc.connect(' Driver = {SQL   服务器};服务器=本地主机;数据库=的ReportServerTempDB; Trusted_Connection =是')        pyodbc.Error:(' 08001',' [08001] [Microsoft] [ODBC SQL Server驱动程序]         [DBNETLIB] SQL Server不存在或访问被拒绝。 (17)         (的SQLDriverConnect)&#39)

注意:我对SQL Server进行Windows身份验证,我使用的是VS 2015,而Python环境是IRON Python 64 bit 2.7

编辑: 我更改了驱动程序:Driver = {ODBC Driver 11 for SQL Server} 如果我在我的代码中给出这样的话

for row in cur:
    print (row.user)

得到一种新的错误。

追踪(最近一次通话):   文件" IronPythonApplication1.py",第6行,in     对于cur中的行: pyodbc.ProgrammingError:尝试使用关闭的游标。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我只是改变了这个和它的工作:

import pyodbc
con = pyodbc.connect('Driver={ODBC Driver 11 for SQL Server};Server=localhost;Database=ReportServer;Trusted_Connection=yes')
cur = con.cursor()
cur.execute("select userid,username from Users")

for row in cur.fetchall():
    print (row)