人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

教你怎么用python連接sql server

發(fā)布日期:2022-07-31 14:49 | 文章來源:源碼之家

先利用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)文章希望大家以后多多支持本站!

國外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部