Python连接SQL SERVER问题解决

报错

在连接数据数据库SQL SERVER时出错,代码如下

import pymysql
import pandas as pd

sql = 'select * from test'
con = pymysql.connect(
    host='127.0.0.1',
    port=1433,
    user='sa',
    passwd='123456',
    db='test'
    ,charset='utf8'
    )
'''
host 数据库地址
user 用户名
port 端口
password 密码
db 数据库
charset 数据库编码
index_col 行索引,默认从0开始,表示第几列作为索引
header 列索引,默认0开始,表示第几行作为索引
'''

df = pd.read_sql(sql,con)

print(df)

报错原因:

pymysql.err.OperationalError: (2003, “Can’t connect to MySQL server on ‘127.0.0.1’ ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)”)

核查步骤

在配置管理工具中查看127.0.0.1已启用

配置管理工具如果找不到,在开始搜索:

SQLServerManager10.msc (10为变量,对应不同的版本)
配置在这里插入图片描述

  • SQL Server配置管理工具(本地)-> SQL Server网络配置 -> MSSQLSERVER协议->TCP/IP(已启用)
    在这里插入图片描述在这里插入图片描述
  • 如果启用了动态端口,下面的也需要注意
    在这里插入图片描述

远程服务也是开启

在这里插入图片描述

sa账户设置也没有问题

安全性:SQL Server和Windows身份验证模式(右键数据库->属性)
sa账号:允许连接数据库引擎,登录名启用,且状态未锁定(安全性->登录名->sa->右键属性)
在这里插入图片描述
在这里插入图片描述
SQL SERVER数据库用Microsoft SQL Server Management Studio 工具可以连接,但使用Python一直连接不上

解决方案

在一度找不到原因的情况下,几乎想要放弃,突然想到这个是SQL SERVER,是不是python导入的模块有区别?因为在使用这个语句连接Mysql是没有问题的。
查了下资料,果然模块pymysql是用来连接mysql的,还有个模块pymssql这个应该是用来连接SQL SERVER的

使用pip install pymssql时报错

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

使用指令更新pip,仍然报错

pip install --upgrade pip
pip install --upgrade setuptools

需自行下载pymssql库

后来在此帖中找到答案:pymssql这个库没有找到对应的python3.8这个版本

https://www.cnblogs.com/xingyunqiu/p/12690143.html

需要自行下载安装,下载地址:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql

找到对应的的包下载后使用指令进行安装:

pip install [目录]/[文件]

安装成功后,再简单更新下代码,连接正常,查询成功!!!
pymssql的数据库名键与pymysql稍有出入

import pymssql
import pandas 

connect = pymssql.connect(host='127.0.0.1',port=1433,user='sa',password='123456',database='test',charset='utf8')
 #服务器名,端口,账户,密码,数据库名,编码方式
if connect:
    print("连接成功!")    
else:
    print("连接失败!")
    
sql = 'select * from test'
df = pandas.read_sql(sql,connect)

print(df)

查询结果
在这里插入图片描述

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Python可以使用pyodbc模块连接SQL Server数据库。具体步骤如下: 1. 安装pyodbc模块 可以使用pip命令进行安装: ``` pip install pyodbc ``` 2. 导入pyodbc模块 ``` import pyodbc ``` 3. 连接SQL Server数据库 使用pyodbc.connect()方法连接数据库,需要提供数据库的连接信息,例如: ``` server = 'localhost' database = 'testdb' username = 'sa' password = 'password' cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) ``` 4. 执行SQL语句 可以使用cursor对象执行SQL语句,例如: ``` cursor = cnxn.cursor() cursor.execute("SELECT * FROM table_name") ``` 5. 获取查询结果 可以使用fetchall()方法获取查询结果,例如: ``` rows = cursor.fetchall() for row in rows: print(row) ``` 以上就是使用Python连接SQL Server数据库的基本步骤。 ### 回答2: Python是一种非常流行的编程语言,拥有大量的库和框架,能够处理各种数据,包括SQL Server数据库。下面介绍如何使用Python连接SQL Server。 第一步,安装PyODBC库。PyODBC是Python与ODBC(开放数据库连接)之间的接口。在安装PyODBC之前,需要确保已安装ODBC驱动程序。可以使用多种方法安装PyODBC,比如pip install pyodbc。 第二步,导入pyodbc库,并创建与SQL Server数据库的连接。具体代码如下: import pyodbc conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};" "SERVER=myserver.database.windows.net;" "DATABASE=mydb;" "UID=myusername;" "PWD=mypassword") 在这个例子中,使用ODBC Driver 17 for SQL Server驱动程序与SQL Server建立连接。将相应的服务器名、数据库名、用户名和密码替换为实际值。 第三步,执行SQL查询。可以使用游标将SQL查询发送到服务器,并获得结果。 cursor = conn.cursor() cursor.execute('SELECT * FROM mytable') data = cursor.fetchall() 以上代码将从表mytable中选择所有行,并将它们存储在一个变量data中。可以使用其他SQL语句来执行其他操作,如插入、更新或删除数据。 第四步,关闭连接。 cursor.close() conn.close() 以上是Python连接SQL Server的基本流程。可以使用其他库和框架来扩展这个过程,如使用pandas库来将查询结果转换为数据框。在连接SQL Server时,需要注意一些安全性问题,如使用强密码、限制访问权限等措施。 ### 回答3: Python可以通过两种方式连接SQL Server,一种是使用ODBC驱动程序,另一种是使用pyodbc包。接下来将分别介绍这两种方法的实现步骤。 1. 使用ODBC连接SQL Server (1)安装ODBC驱动程序 首先需要安装ODBC驱动程序,可选择SQL Server Native 10.0或SQL Server Native 11.0版本,这里以SQL Server Native 11.0版本为例。 (2)创建数据源 打开“ODBC数据源管理员”,在“用户DSN”或“系统DSN”中创建一个新数据源,选择SQL Server Native 11.0作为驱动程序,并配置连接字符串、用户名和密码等信息。 (3)编写Python程序 导入pyodbc包,使用connect()方法连接ODBC数据源,传入数据源名称和用户名密码等参数,然后可以使用cursor()方法执行SQL语句。 示例代码: ```python import pyodbc conn = pyodbc.connect('DSN=SQLServer;UID=sa;PWD=123456') cursor = conn.cursor() cursor.execute('SELECT * FROM [dbo].[table_name]') rows = cursor.fetchall() ``` 2. 使用pyodbc包连接SQL Server pyodbc是Python库,提供了与ODBC数据库的连接。可以使用pyodbc包连接SQL Server数据库。 (1)安装pyodbc包 在终端运行以下命令: ```python pip install pyodbc ``` (2)编写Python程序 导入pyodbc包,使用connect()方法连接SQL Server数据库,传入数据库名称、服务器地址、用户名密码等参数,然后可以使用cursor()方法执行SQL语句。 示例代码: ```python import pyodbc conn = pyodbc.connect('Driver={SQL Server};Server=servername;Database=dbname;UID=user;PWD=password') cursor = conn.cursor() cursor.execute('SELECT * FROM [dbo].[table_name]') rows = cursor.fetchall() ``` 以上是连接SQL Server的两种方法,通过使用ODBC驱动程序或pyodbc包,可以轻松连接SQL Server数据库,并操作数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值