Python获取服务器文件内容写入SqlServer

# -*- coding: utf-8 -*-

import pymssql
import ssh
import datetime
import logging
import os


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

    def __GetConnect(self):
        if not self.db:
            raise (NameError, "没有设置数据库连接信息")
        self.conn = pymssql.connect(host=self.host, user=self.user, password=self.pwd, database=self.db)
        cur = self.conn.cursor()
        if not cur:
            raise (NameError, "数据库连接失败")
        else:
            return cur

    def ExecQuery(self, sql):
        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()


def main():
    try:
        daytime=datetime.datetime.now()-datetime.timedelta(days=1)
        times=daytime.strftime("%Y%m%d")
        mscon = SQLServer(host="***", user="***", pwd="***", db="***")
        client = ssh.SSHClient()
        client.set_missing_host_key_policy(ssh.AutoAddPolicy())
        client.connect("***", port=22, username="***", password="***")
        stdin, stdout, stderr = client.exec_command('cat /app/mount/session_csv/UserSession_'+times+'.csv')
        str = stdout.read()
        fa = open('aa.txt', 'w+')
        fa.write(str)
        fa.close()
        file = open("aa.txt")
        while 1:
            line = file.readline()
            line = line.replace(",","','")
            line = line[:-2]
            if not line:
                break
            sql = "INSERT INTO dbo.表名(字段1,字段2) VALUES('" + line + "')"
            mscon.ExecNonQuery(sql)
        file.close()

    except Exception,e:
        print(e)

if __name__ == '__main__':
    main()
    logging.basicConfig(filename=os.path.join(os.getcwd(), 'log.txt'), level=logging.DEBUG)
    logging.debug('运行完成')

  

posted on 2018-04-13 13:45  _峻熙  阅读(598)  评论(0编辑  收藏  举报

导航