Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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 到sql server的PyODBC连接_Python_Sql Server - Fatal编程技术网

Python 到sql server的PyODBC连接

Python 到sql server的PyODBC连接,python,sql-server,Python,Sql Server,尝试使用PyODBC连接到sql server,但我一直遇到“未找到数据源名称且未指定默认驱动程序”错误。见下文。我对这一切还不太熟悉,但仍然认为至少测试一个连接会更容易 import pypyodbc connection = pypyodbc.connect("DRIVER = {SQL Server}; Server = servername;Trusted_Connection = Yes") connection.close() 您的连接字符串缺少数据库说明符,您应该从驱动程序说明

尝试使用PyODBC连接到sql server,但我一直遇到“未找到数据源名称且未指定默认驱动程序”错误。见下文。我对这一切还不太熟悉,但仍然认为至少测试一个连接会更容易

import pypyodbc

connection = pypyodbc.connect("DRIVER = {SQL Server}; Server = servername;Trusted_Connection = Yes")
connection.close()

您的连接字符串缺少
数据库
说明符,您应该从
驱动程序
说明符中删除空格

connection = pypyodbc.connect("DRIVER={SQL Server}; Server = servername;DATABASE=MyDatabase;Trusted_Connection = Yes")

如果您想使python连接到SQL Server,那么也可以使用适用于python 2.7的MySQLdb模块

import MySQLdb as mdb
connectString=Server={SQL Server};Database={Database Name};UID={UserId};PWD={password}
conn = mdb.connect(connectString) 
或者,您可以使用pyodbc

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER={SQL Server};DATABASE={Database Name};UID={UserId};PWD={password}   

试试这样的

import pypyodbc
conn = pypyodbc.connect(driver='{SQL Server}', server='servername', database='dbname', uid='userName', pwd='Password')
使用凭据更改服务器名和其他值。 它对我非常有效。
如果您使用的是azure sql server,请确保将您的IP添加到防火墙规则。

@Andy lowercase无法从
驱动程序
说明符中删除空格,如下所示:
驱动程序={sql server}
。请确保小心使用的驱动程序。在使用FreeTDS unixODBC驱动程序时,我遇到了空值和日期时间的问题。确保使用sql本机客户端驱动程序来避免我遇到的问题。