python連線sqlserver資料庫

2021-10-19 05:23:38 字數 1633 閱讀 5011

pip install pymssql
#!/usr/bin/env python3

#-- coding: utf-8 --

# sqlserver的連線

import pymssql

from logger import logger

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:

logger.error("沒有設定資料庫資訊")

raise(nameerror,"沒有設定資料庫資訊")

self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset=self.char)

cur = self.conn.cursor()

if not cur:

logger.error("連線資料庫失敗")

raise(nameerror,"連線資料庫失敗")

else:

return cur

def execquery(self,sql):

"""執行查詢語句

返回的是乙個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段

"""cur = self.__getconnect()

cur.execute(sql)

reslist = cur.fetchall()

#查詢完畢後必須關閉連線

self.conn.close()

return reslist

def execnonquery(self,sql):

"""執行非查詢語句

呼叫示例:

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():

ms = mssql(host="127.0.0.1:1433",user="sa",pwd="123456",db="dbname")

findsql = 'select * from students'

logger.info(findsql.encode('utf8'))

reslist = ms.execquery(findsql)

print(reslist)

if __name__ == '__main__':

main()

q.e.d.

localhost無法連線sqlserver

因為工作關係我的電腦安裝了2012 2017兩個版本的sqlserver,之後把2017的解除安裝了,出現了vs開啟專案不報錯,一直在轉圈的問題,之後試過本機登入sqlserver 發現登不上,要指定例項才可以。開啟配置管理器 1.開啟sqlserver網路配置,點選例項協議 2.雙擊tcp ip ...

資料庫連線池 Oracle和SQL Server

近期看到許多朋友在問資料庫連線池的問題,所以特地總結了一下.以下是oracle和sql server在配置連線池時的區別 1.oracle與sql server在配置連線池時的區別 tomcat配置檔案中 oracle的配置方法 urljdbc oracle thin 172.28.122.49 1...

Python 讀取文字檔案到sql server

import json import pymysql import sqlite3 import re import pyodbc import os 載入所需模組 sqlconn pyodbc.connect driver server 伺服器名稱 database 資料庫名稱 連線資料庫 cur...