我试图在我的OS X机器上使用pyodbc和python访问远程MS-SQL数据库。当我尝试执行时,它会显示如下错误
Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
我写的代码是:
import pyodbc
def createdatabase():
driver = 'SQL Server'
server = '00000000'
db1 = 'Vodafone'
tcon = 'yes'
uname = 'user'
pword = 'pwd'
cnxn = pyodbc.connect(driver='{SQL Server}', host=server,database=db1,trusted_connection=tcon, user=uname, password=pword)
cursor = cnxn.cursor()
答案 0 :(得分:0)
这可能不是你唯一的问题,但是pyodbc.connect()字符串需要用这样的分号组成:
DRIVER={FreeTDS};SERVER=yoursqlserver.com;PORT=1433;DATABASE=yourdb;UID=youruser;PWD=yourpass;TDS_Version=7.2;
您还必须阅读有关从Mac设置FreeTDS和unixODBC的信息。如果您正在指定SQL Server而不是FreeTDS,我猜你还没有在freetds.conf,odbc.ini和odbcinst.ini中设置配置,这是连接到SQL Server所必需的。来自非Windows机器。