python实现远程连接数据库定时获取数据

# --*-- coding:utf-8 --*--
import apscheduler
import time
from apscheduler.schedulers.blocking import BlockingScheduler
import pandas as pd
import pymysql
import subprocess
import os

def connect_mysql():
    db_config = {
        'host':'xx.xxx.xxx.xx',#host
        'port':3306,
        'user':'qys',
        'password':'059807',
        'db':'test',#需要连接的数据库
        'charset':'utf8'#编码
    }
    try:
        cms = pymysql.connect(**db_config)
        cur = cms.cursor()#获取一个游标
        #cur.execute("insert into user values('4','test1','test1');")#在user数据表插入一条数据
        #cur.execute('flush privileges;')#必须实时更新数据
        cur.execute('select * from user;')#查询USER数据表中所有数据
        data = cur.fetchall()
        for d in data:#打印查询的数据
                print('id: '+str(d[0])+'\t'+'name: '+str(d[1])+'\t'+'pwd: '+str(d[2]))
        cur.close()
    except Exception as e:
        print(e)

db = connect_mysql()
sched = BlockingScheduler()
sched.add_job(connect_mysql, 'interval', seconds=5)
sched.start()
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用Python的pyodbc库和Windows定时任务来实现将局域网下的主机的SQL Server数据库定时更新到一台主机上。具体步骤如下: 1. 安装pyodbc库,可以使用pip install pyodbc命令进行安装。 2. 编写Python脚本,在脚本中使用pyodbc库连接远程主机的SQL Server数据库,并将数据更新到本地主机的数据库中。示例代码如下: ```python import pyodbc # 连接远程主机的SQL Server数据库 conn = pyodbc.connect('DRIVER={SQL Server};SERVER=远程主机名称;DATABASE=数据库名称;UID=用户名;PWD=密码') cursor = conn.cursor() # 查询数据并更新到本地主机的数据库中 cursor.execute('SELECT * FROM 表名') data = cursor.fetchall() # 连接本地主机的SQL Server数据库 conn_local = pyodbc.connect('DRIVER={SQL Server};SERVER=本地主机名称;DATABASE=数据库名称;UID=用户名;PWD=密码') cursor_local = conn_local.cursor() # 将数据更新到本地主机的数据库中 for row in data: cursor_local.execute('INSERT INTO 表名 VALUES (?, ?, ?)', row) conn_local.commit() ``` 3. 配置Windows定时任务,让Python脚本定时执行。可以使用Windows的任务计划程序来创建定时任务,设置Python脚本的执行时间和执行方式即可。 需要注意的是,此方法需要保证远程主机的SQL Server数据库与本地主机的SQL Server数据库结构相同,否则数据更新可能会失败。另外,需要保证远程主机的SQL Server数据库可以被本地主机访问到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

食物发动机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值