佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 教你怎么用python連接sql server

教你怎么用python連接sql server

熱門標(biāo)簽:Win7旗艦版 企業(yè)做大做強(qiáng) 百度AI接口 電話運(yùn)營中心 語音系統(tǒng) 硅谷的囚徒呼叫中心 呼叫中心市場(chǎng)需求 客戶服務(wù)

先利用pip安裝pymssql庫

pip install pymssql

具體連接、測(cè)試代碼:

# server默認(rèn)為127.0.0.1,如果打開了TCP動(dòng)態(tài)端口的需要加上端口號(hào),如'127.0.0.1:1433'
# user默認(rèn)為sa
# password為自己設(shè)置的密碼
# database為數(shù)據(jù)庫名字
server = '127.0.0.1'
user = "sa"
password = "123456"
database = "pubs"
conn = pymssql.connect(server, user, password, database)
# 可簡(jiǎn)化為conn = pymssql.connect(host='localhost', user='sa', password='123456', database='pubs')
cursor = conn.cursor()
cursor.execute('SELECT * FROM titles')
print( cursor.fetchall() ) 

# 如果用pandas讀取數(shù)據(jù)庫
import pymssql
import pandas as pd
conn = pymssql.connect('IP地址','賬號(hào)','密碼','數(shù)據(jù)庫')
sql_1 = "SELECT Id,creat_time from 表名"
#利用pandas直接獲取數(shù)據(jù)"
data = pd.read_sql(sql_1, conn)
conn.close()
print(data)

封裝好的版本:

#coding=utf-8 
# sqlserver的連接
import pymssql

class MSSQL:
    def __init__(self,host,user,pwd,db):
        self.host = host
        self.user = user
        self.pwd = pwd
        self.db = db

    def __GetConnect(self):
        """
        得到連接信息
        返回: conn.cursor()
        """
        if not self.db:
            raise(NameError,"沒有設(shè)置數(shù)據(jù)庫信息")
        self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
        cur = self.conn.cursor()
        if not cur:
            raise(NameError,"連接數(shù)據(jù)庫失敗")
        else:
            return cur

    def ExecQuery(self,sql):
        """
        執(zhí)行查詢語句
        返回的是一個(gè)包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段

        """
        cur = self.__GetConnect()
        cur.execute(sql)
        resList = cur.fetchall()

        #查詢完畢后必須關(guān)閉連接
        self.conn.close()
        return resList

    def ExecNonQuery(self,sql):
        """
        執(zhí)行非查詢語句

        調(diào)用示例:
            cur = self.__GetConnect()
            cur.execute(sql)
            self.conn.commit()
            self.conn.close()
        """
        cur = self.__GetConnect()
        cur.execute(sql)
        self.conn.commit()
        self.conn.close()

def main():
	# host默認(rèn)為127.0.0.1,如果打開了TCP動(dòng)態(tài)端口的需要加上端口號(hào),如'127.0.0.1:1433'
    # user默認(rèn)為sa
    # pwd為自己設(shè)置的密碼
    # db為數(shù)據(jù)庫名字
    ms = MSSQL(host='127.0.0.1',user="sa",pwd="123456",db="pubs")
    resList = ms.ExecQuery("SELECT * FROM titles")
    print(resList)

if __name__ == '__main__':
    main()

如果出現(xiàn)pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (SZS\SQLEXPRESS)\n')類似保錯(cuò),有以下幾個(gè)可能的原因:

1.數(shù)據(jù)庫名字寫錯(cuò)

2.tcp/ip協(xié)議未開啟,這個(gè)位于(右鍵此電腦,點(diǎn)擊管理,點(diǎn)擊服務(wù)與應(yīng)用程序,點(diǎn)擊sql配置管理器,點(diǎn)擊sql server網(wǎng)絡(luò)配置,點(diǎn)擊mssqlserver的協(xié)議,右鍵tcp/ip,點(diǎn)擊啟用,重啟電腦后才會(huì)生效)

3.動(dòng)態(tài)端口錯(cuò)誤,默認(rèn)是沒有打開動(dòng)態(tài)端口的,如果打開了就需要寫端口號(hào),在2中的tcp/ip協(xié)議中查看動(dòng)態(tài)端口號(hào),點(diǎn)擊tcp/ip協(xié)議,點(diǎn)擊ip地址,然后翻到最下面,找到ipall 里面的動(dòng)態(tài)端口號(hào),也可以將動(dòng)態(tài)端口號(hào)刪掉,然后不寫

4.sa用戶登錄未啟用

打開sql server management studio,點(diǎn)擊安全性,點(diǎn)擊登錄名,如果sa項(xiàng)出現(xiàn)紅色的×則說明sa用戶登錄未啟用,右鍵sa點(diǎn)擊屬性,點(diǎn)擊狀態(tài)即可啟用。

到此這篇關(guān)于教你怎么用python連接sql server的文章就介紹到這了,更多相關(guān)python連接sql server內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQL Server作業(yè)失敗:無法確定所有者是否有服務(wù)器訪問權(quán)限的解決方法
  • 解決sql server 數(shù)據(jù)庫,sa用戶被鎖定的問題
  • IDEA連接MySQL提示serverTimezone的問題及解決方法
  • SQL Server 2014 數(shù)據(jù)庫中文版安裝圖文教程
  • SQL Server中使用判斷語句(IF ELSE/CASE WHEN )案例

標(biāo)簽:長沙 喀什 濟(jì)南 崇左 安康 海南 山西 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《教你怎么用python連接sql server》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    三都| 瑞金市| 育儿| 营口市| 沿河| 万荣县| 如东县| 竹溪县| 罗江县| 南城县| 阜宁县| 宝坻区| 疏附县| 大渡口区| 罗定市| 大悟县| 陇南市| 三亚市| 和平区| 通山县| 师宗县| 汤原县| 德阳市| 应城市| 琼结县| 搜索| 三原县| 淮安市| 句容市| 应城市| 信丰县| 溧水县| 杭锦旗| 安新县| 靖边县| 万安县| 博客| 平江县| 伽师县| 呼伦贝尔市| 新平|