Python连接sqlServer
1、安装pyodbc模块
-
安装环境:windows7 ,sqlServer 2012 , python3.7
-
方法一:命令行安装pyodbc模块:pip install pyodbc
-
方法二:pycharm安装:File-settings-Project Interpreter-然后点“+”-输入pyodbc-此处选择hhtp://mirrors.aliyun.com/pypi/simple/安装-点击左下角的install等待安装完成
-
安装后
#-*- coding: utf-8 -*-
import pyodbc
# 数据库服务器信息
driver = '{SQL Server}' #'Navicat premium 11.2.10 一定要这么写,踩过的坑'
server = '服务器ip'
user = '用户名'
password = '密码'
database = '数据库名'
sql = ""
conn = pyodbc.connect(driver=driver, server=server, user=user, password=password, database=database)
cur = conn.cursor() #创建一个游标(cursor)
cur.execute(sql)
row=cur.fetchone()
while row:
print(str(row[0]))
row = cur.fetchone()
注意:pyodbc报错pyodbc.InterfaceError
connection = pyodbc.connect('Driver={SQL Server Native Client 11.0};Server=。。。;Database=。。。;'
以上代码在使用pyodbc连接sql数据库时,在开发机器上运行是ok的,但到了其他电脑就运行出错,报错信息如下:
pyodbc.InterfaceError: (‘IM002’, ‘[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)’)。
原因是Driver参数出错了,修改为Driver={SQL Server}就可以了。
2、安装pymssql模块
命令行安装:pip install pymssql-2.1.4-cp37-cp37m-win_amd64.whl
#-*- coding: utf-8 -*-
import pymssql
conn = pymssql.connect('10.10.1.65', 'sa', 'pingce@204', 'gk', charset='GBK') # 服务器名,账户,密码,数据库名,建立连接
cursor = conn.cursor()
sql = "SELECT cHospitalName FROM t_Hospital"
cursor.execute(sql)
row = cursor.fetchone() #读取查询结果,
while row: #循环读取所有结果
print("cHospitalName=%s" % (row[0])) #输出结果
row = cursor.fetchone()
cursor.close()
conn.close()