Python 到 SQL 服务器连接
Python to SQL Server connection
我正在使用 Python 3.5.1 和 Anaconda 包 2.4.0 并尝试连接到本地 SQL 服务器 (2008 R2)
所以做接下来的事情:
import pypyodbc
connection_string =pypyodbc.connect('Driver={SQL Server};Server=PC\MSSQLSERVER,1433;Database=localbase;Uid=name;Pwd=pass')
connection_string=connection_string.decode(encodind='utf-8',errors='replace')
所有操作后,收到错误:
'utf-32-le' codec can't decode bytes in position 0-1: truncated data
这是为什么?我应该如何避免它以及 运行 正确连接?
您似乎误解了 "connection string" 是什么。它是您 传递给 .connect
方法的文本字符串,而不是 从 .connect
方法返回的内容。 (返回的是一个 connection
对象。)
所以,你需要做更多像这样的事情:
import pypyodbc
connection_string = "DRIVER={SQL Server};SERVER= ...(and so on)..."
conn = pypyodbc.connect(connection_string)
crsr = conn.cursor()
crsr.execute("SELECT stuff FROM tablename")
# etc.
我正在使用 Python 3.5.1 和 Anaconda 包 2.4.0 并尝试连接到本地 SQL 服务器 (2008 R2)
所以做接下来的事情:
import pypyodbc
connection_string =pypyodbc.connect('Driver={SQL Server};Server=PC\MSSQLSERVER,1433;Database=localbase;Uid=name;Pwd=pass')
connection_string=connection_string.decode(encodind='utf-8',errors='replace')
所有操作后,收到错误:
'utf-32-le' codec can't decode bytes in position 0-1: truncated data
这是为什么?我应该如何避免它以及 运行 正确连接?
您似乎误解了 "connection string" 是什么。它是您 传递给 .connect
方法的文本字符串,而不是 从 .connect
方法返回的内容。 (返回的是一个 connection
对象。)
所以,你需要做更多像这样的事情:
import pypyodbc
connection_string = "DRIVER={SQL Server};SERVER= ...(and so on)..."
conn = pypyodbc.connect(connection_string)
crsr = conn.cursor()
crsr.execute("SELECT stuff FROM tablename")
# etc.