python连接数据库。

准备工作。需要安装pymssql 。。具体怎么安装请自行百度。教程很多。最简单的就是pip install myssql  但是可能会出现版本不兼容的问题。导致导入后不能improt。也可能导致打包的时候出错。

需要三个文件。

1.解析配置文件,连接数据库

# -*- coding: utf-8 -*-
__author__ = ‘hero‘
import pymssql
import xml.dom.minidom
import os
import sys
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
class ExchangeData(object):
    global CONFIGTYPE_RETEST
    global CONFIGTYPE_PING
    global CONFIGTYPE_AGETEST
    global CONFIGTYPE_IPX

    CONFIGTYPE_RETEST = ‘RETEST‘
    CONFIGTYPE_PING = ‘PING‘
    CONFIGTYPE_AGETEST = ‘AGETEST‘
    CONFIGTYPE_IPX = ‘IPX‘

    ###加载数据库连接数据
    def loadDBConfig(self,dbType):
        xmlDoc = xml.dom.minidom.parse(os.getcwd() +‘\\conf\\/DBConfig.xml‘#此处路径为配置文件的路径
        root = xmlDoc.documentElement
        sql_element = root.getElementsByTagName(dbType)[0]
        return sql_element

    def __exchangeDataByDBConnection(self):
        sqlInfo = self.loadDBConfig(‘MSSQL‘)
        db_host = sqlInfo.getElementsByTagName(‘HOST‘)[0].firstChild.data
        db_database = sqlInfo.getElementsByTagName(‘DATABASE‘)[0].firstChild.data
        db_user = sqlInfo.getElementsByTagName(‘USERNAME‘)[0].firstChild.data
        db_pwd = sqlInfo.getElementsByTagName(‘PASSWORD‘)[0].firstChild.data
        conn = pymssql.connect(user=db_user,password=db_pwd,database=db_database,host=db_host)
        conn.autocommit(True)
        return conn

    ###读取数据###
    def getDataBySql(self,sqlStr):
        try:
            conn = self.__exchangeDataByDBConnection()
            if not conn:
                raise(NameError,‘数据库连接失败‘)
            else:
                cur = conn.cursor()
                cur.execute(sqlStr)
                resList = cur.fetchall()
                conn.close()
                return resList
        except Exception,e:
            print(e)
            raise(NameError,‘数据库操作失败‘)

    ###更改数据库###
    def setDataBySql(self,sqlStr):
        try:
            conn = self.__exchangeDataByDBConnection()
            if not conn:
                raise(NameError,‘数据库连接失败‘)
                return False
            else:
                cur = conn.cursor()
                cur.execute(sqlStr)
                conn.commit()
                conn.close()
                return True
        except Exception,e:
            print(e)
            raise(NameError,‘数据库操作失败‘)
            return False

if __name__ == ‘__main__‘:
    pn = ‘BYAUX-CTN0003‘
    sqlStr = "select * from producttype where productNo = ‘"+pn+"‘"
    edata = ExchangeData()
    resList = edata.getDataBySql(sqlStr=sqlStr)
    for dataRow in resList:
        print(dataRow[0])

2.进行增删改查操作,文件

  1 #coding=gbk
  2
  3 from exchangeData import *
  4 import time
  5
  6 ###数据库相关操作
  7 class DataBaseOP(object):
  8     ###根据用户名密码,验证用户权限返回值不同,权限不同###
  9     def loginApTester(self,username,password):
 10         loginSql = ‘SELECT rid FROM bdcomemployee WHERE bdcomLoginName = \‘‘+username+‘\‘ AND bdcomPassword = \‘‘+password+‘\‘‘
 11         loginSql = self.dbTrim(loginSql)
 12         eData = ExchangeData()
 13         dataRows = eData.getDataBySql(loginSql)
 14         if len(dataRows)==0 or dataRows[0] is None:
 15             return 0
 16         elif dataRows[0][0]==17:
 17             return 2
 18         else:
 19             return 1
 20
 98
127     ###修改密码###
128     def resetDBPwd(self,userName,oldPwd,newPwd):
129         igStatus = self.loginApTester(userName,oldPwd)
130         if igStatus>0:
131             setSql = ‘UPDATE bdcomemployee SET bdcomPassword = \‘‘+newPwd+‘\‘ WHERE bdcomLoginName = \‘‘+userName+‘\‘ AND bdcomPassword = \‘‘+oldPwd+‘\‘‘
132             self.dbTrim(setSql)
133             eData = ExchangeData()
134             return eData.setDataBySql(setSql)
135         else:
136             return False;
137
138
139
155   169
170     def dbTrim(self,trimStr):
171         return str(trimStr).replace(‘\t‘,‘‘).replace(‘\n‘,‘‘).replace(‘\r‘,‘‘)
172
173 if __name__ == ‘__main__‘:
174     dbop = DataBaseOP()
175     dbop.loginApTester(‘liuke_ap‘,‘liuke‘)

3.配置文件

1 <?xml version="1.0" encoding="UTF-8"?>
2 <JDBC>
3     <MSSQL>
4         <HOST>192.168.1.1</HOST>
5         <DATABASE>abcd</DATABASE>
6         <USERNAME>root</USERNAME>
7         <PASSWORD>root</PASSWORD>
8     </MSSQL>
9 </JDBC>
时间: 2024-10-17 00:43:01

python连接数据库。的相关文章

Windows下Python连接数据库(mysql, mongodb)

一 实验平台 1 os: win7 64位旗舰版sp1 2 python: 2.7.10 x64 二 连接数据库 1 连接 mysql数据库 (1)下载mysql(5.6.25-winx64) 建议下载免安装版, 安装版的容易出现各种问题,解开压缩包,双击bin目录下的mysqld.exe, 启动数据库服务进程, 要关闭的话, 直接到任务管理器里面干掉这个进程就行了 (2)下载并安装navicat(这是一个mysql可视化管理工具, 不是必须的, 但可以方便在用python执行数据库操作的时候,

python 连接数据库-设置oracle ,mysql 中文字符问题

1 import cx_Oracle 2 import MySQLdb 3 4 def conn_oracle(): 5 cnn = cx_Oracle.connect('用户名','密码','ip:端口号/数据库') //用户名,密码,ip端口号数据库 6 cur = cnn.cursor() 7 return cnn,cur 8 9 10 def close_oracle(cnn,cur): 11 cur.close() 12 cnn.close() 13 14 def conn_mysql

python连接数据库异步存储

当同步写入数据库时,可能会发生下载速度很快,但是写入速度很慢的情况,因此我们采用异步存储写入数据库. 实现异步写入mysql数据库的思路: 1,将数据库的连接数据写入到settings文件中,供后面自定义的pipeline使用    2,自定义pipeline,使用Twisted框架实现异步    3,在settings中注册这个管道 在settings设置连接信息 1 MYSQL_HOST = '127.0.0.1' 2 MYSQL_DBNAME = 'testdb' 3 MYSQL_USER

面面观 | 使用python 连接数据库,插入并查询数据--link

1,将两个docker 连接起来 首先需要搭建环境: 在alpine下面创建mariadb数据库: http://blog.csdn.net/freewebsys/article/details/53540615 用户名密码是root. 然后创建http的Python环境: http://blog.csdn.net/freewebsys/article/details/53509676 接下来做一个简单数据查询和插入操作. 2,python代码: main.py #!/usr/bin/pytho

python 连接数据库 (Access)

模块pypyodbc 1.3.3下载:   https://pypi.python.org/pypi/pypyodbc/ 安装:解压文件找到pypyodbc.py复制到python安装目录Lib文件夹下即可 import pypyodbc pypyodbc.win_create_mdb('D:\\database.mdb') connection_string = 'Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\database.mdb' co

python连接数据库时的编码问题

报错 python编码错误:UnicodeDecodeError: 'utf8' codec can't decode 或者UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128) 考虑使用如下方法http://www.jb51.net/article/59297.htm 代码如下 #coding:utf-8 import sys reload(sys) sy

Python 连接数据库 mysql

python 连接 数据库 import pymysql db = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='root',db='odps_test', charset="utf8") # # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() #创建student表 Student = ''' create table Student( StdID

Python 连接数据库失败

什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库. 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装. PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL. 如果还未安装,我们可以使用以下命令安装最新版的 PyM

python连接数据库表不显示,出现一些bin,ci看不懂的东西

1.在此默认为你已经会用pycharm连接数据库了,其实很简单,别想的太复杂了,原理和用命令行连接数据库一样的,但是连接之后我这边出现了一些问题,就是看不到连接的数据库表,这是因为你没有手动设置pycharm表显示,这个地方感觉pycharm可以改进一下,下面是我的解决方案: 第二步: 第三步: OK ! 原文地址:https://www.cnblogs.com/yichuncom/p/11403412.html