6、python-mongodb获取数据存储到sql server

一文掌握python连接SQL Server,MySQL,MongoDB,Redis数据库 博主又在为将来的学习捣鼓各种环境,这次轮到了五花八门的数据库。这篇博客主要介绍这四个数据库和各自的可视化工具,并详细介绍如何用python连接数据库。说明一下,我这里连接的为局域网内另外一台电脑上安装的数据库,当然你也直接访问自己的本地数据库! 如对远程访问数据库有需要的小伙伴,可参考:Window下MySQL8.0.18的安装以及在局域网内实现数据库访问 本文目录一、数据库简述1.1 介绍:主要用途1.2 干货:默认端口号可视化工具二、python连接数据库(1) SQL Server数据库:pyms. 阅读详情

微信公众号:[技术清点]
关注可了解更多信息。问题或建议,请公众号留言;

说明

业务场景:
需要把一个nodejs做的系统里获取订单信息导入到公司内部OA系统,直接使用接口麻烦不方便,且功能太少,不同技术的人配合显得小题大做,因此直接进行脚本编写,

主要功能是从mongodb上获取订单,传输到sql server,这里主要是定时任务执行的脚本

创建连接

下面是主要连接mongodb并读取集合,并按时间段查询

# 要先导入客户才能导入订单
xwclient = pymongo.MongoClient("mongodb://xx.xx.xx.xxx:10xxx/")
xwdb = xwclient["xx_webchecker_xx"]

collist = xwdb.list_collection_names()
if "orderlogs" not in collist:   # 判断 orderlogs 集合是否存在
   print("集合orderlogs不存在!")
   return False

orderLists = xwdb["orderlogs"]
currTime = self.beforeMinuts(7)
#currTime = parser.parse('2019-08-20T00:00:00Z')
        
qryOrders = {
   
    "paySuccessTime" : {
   
    "$gte" : currTime}, "status" : "SUCCESS","orderNo":{
   
   "$ne":"null", "$exists":"true"} }

公共脚本

这里面使用的sql server是重复编写,可以以类文件的方式直接引入;

    # sel server连接
    def conn_mssql(self):
        if self.__connMssql is None:
            self.__connMssql = pymssql.connect(host="xx.xx.xx.xx", user="xx", password="xx", database="crm", charset="utf8",autocommit=True)
        self.curMssql = self.__connMssql.cursor()

    # 执行操作数据的相关sql
    def execute_mssql(self, sql, data=None):
        try:
            self.conn_mssql()
            if data is None:
                self.curMssql.execute(sql)
            else :
                self.curMssql.execute(sql, data)
            
            # sql server 执行无返回结果
            # self.curMssql.commit() 无此方法
        except Exception:
            print("执行保存或更新失败.....", traceback.print_exc())
        finally:
            return False  #self.close_mssql()
        

    def search_mssql(self, sql):
        """执行查询sql"""
        self.conn_mssql()
        self.curMssql.execute(sql)
        return self.curMssql
关系型数据库核心原理与SQL Server实战入门 关系型数据库是结构化数据管理的基石,其核心基于Codd提出的关系模型,通过表、行、列和完整性约束实现对现实世界的精确抽象。SQL作为声明式查询语言,屏蔽底层执行细节,使开发者聚焦业务逻辑而非算法实现。它支撑着金融交易、ERP、BI分析等强一致性关键场景,与NoSQL形成互补而非替代。掌握SQL不仅是写SELECT语句,更涉及索引设计、执行计划解读、事务安全与防注入实践。本文以SQL Server为实操载体,覆盖环境搭建、SSMS高效使用、DML/DDL编写规范及典型性能避坑,助力开发者从‘能查’迈向‘懂因’ 阅读详情

相关推荐

MongoDB存储机器学习模型:元数据管理与GridFS实战

机器学习模型管理已从简单的文件存储演进为结构化资产治理问题。核心在于将模型二进制与其丰富元数据(算法类型、输入输出规范、指标、版本、部署上下文)统一建模并支持高维查询。MongoDB凭借原生JSON文档模型、GridFS大文件支持及聚合查询能力,成为兼顾元数据灵活性与二进制可管理性的轻量级中枢方案——它不替代专用模型仓库,而是补足MLflow或MinIO在‘可查询性’和‘端到端一致性’上的短板。适用于需支撑A/B测试、多环境部署、审计追溯及自动化运维的MLOps中台场景,尤其适合已面临模型版本混乱、元数据散

weixin_34234829的博客 425

Selenium多线程爬虫实战:绕过复杂反爬与MongoDB数据存储

在数据采集领域,反爬机制是开发者面临的核心挑战之一。其原理通常涉及请求参数加密、行为指纹检测和动态内容加载,旨在识别和拦截自动化脚本。为了高效、稳定地获取数据,技术选型至关重要。Selenium通过模拟真实浏览器环境,能够有效绕过前端加密和动态令牌验证,从根本上规避复杂的逆向工程。结合多线程并发技术,可以显著提升模拟操作的数据采集效率,弥补其单线程速度的不足。在数据存储层面,面对结构灵活、嵌套关系复杂的网页内容(如论坛帖子和评论),MongoDB的文档模型提供了比传统关系型数据库更自然的适配能力,支持灵活的

weixin_30314813的博客 291

MongoDB Atlas向量搜索实战:Python构建生产级语义检索系统

向量搜索是现代数据库实现语义理解的核心能力,其本质是将文本、图像等非结构化数据映射为高维空间中的数学向量,并通过近似最近邻(ANN)算法快速检索语义相似项。技术原理依赖嵌入模型(embedding)生成固定维度向量,结合HNSW等高效索引结构实现毫秒级召回。该能力显著提升推荐、查重、知识问答等场景的准确率与用户体验,正成为企业级数据库的标配功能。本文聚焦MongoDB Atlas原生向量搜索与Python工程实践,覆盖从索引构建、向量生成到生产级查询优化的完整链路,特别适配已具备基础CRUD能力、亟需落地语

an4455的博客 436

mssql2mongo:实验工具,获取数据库CDC数据更新数据 #lab

mssql2mongo 介绍 命令工具可帮助您将数据从mssql导入mongodb。 和专家来CDC数据。 用法 在config.js中设置配置通过“ node app.js”运行该工具

mongo-to-sql-converter:这是将mongo查询转换为SQL的简单工具

mongo-to-sql-converter 这是将MongoDB查询( find() )转换为SQL的简单工具 程序包将字符串作为输入,并将字符串作为输出。 它仅支持db.find方法,并在使用其他方法时引发异常。 入门 正在安装 npm i mongo-to-sql-converter 用法 var mongoToSqlConverter = require("mongo-to-sql-converter") const MongoDBQuery = "db.user.find({age: {$gte: 21}, name: 'julio', contribs: { $in: [ 'ALGOL', 'Lisp' ]}},{name: 1, _id: 1});" const SQLQuery = mongoToSqlConverter.convertToSQL(MongoDBQue

深入解析:如何基于开源OpENer开发EtherNet/IP从站服务

通过OpENer开源库,开发者可以快速实现符合ODVA规范的EtherNet/IP从站设备,降低开发成本并提高系统灵活性。本文详细介绍了EtherNet/IP协议原理、OpENer库的特点与优缺点,以及二次开发的完整流程。通过遵循本文提供的指南,开发者可以成功构建出工业级的EtherNet/IP通信设备。

极地星辰 3014

VL53L1X vs VL53L0X:激光测距传感器选型指南与性能对比

本文深入对比了VL53L1X与VL53L0X两款激光测距传感器的核心差异。VL53L1X采用区域ToF原理,在抗环境光干扰、最大测距及多目标识别方面优势显著,尤其适合复杂光线与动态场景。文章结合机器人避障、无人机定高等实战场景,提供了清晰的选型决策树,帮助工程师根据测距需求、环境复杂度与系统成本做出最优选择。

weixin_29197699的博客 395

避免bank conflict的使用共享内存的矩阵转置。及其循环展开。转置前后都是行主序,中间共享内存中是列主序

为了避免bank conflict,可以使用padding的方式将数组中的每一行各自占据一个bank,这样每个线程读取不同行的数据时就不会发生bank conflict。padding的方式是在每行数据后面添加一定数量的空数据,使得每行的字节数恰好是bank的整数倍,这样就能保证每行数据各自占据一个bank。具体来说,当一个线程访问共享内存中的一个元素时,GPU会根据该元素在共享内存中的地址计算出其所在的bank,然后将该元素从该bank中读取出来。

weixin_55035144的博客 2144

agent-browser OpenClaw 的最佳搭档

agent-browser 是专为 AI Agent 设计的浏览器自动化工具,目前被公认为 OpenClaw 的最佳配套方案。这份技术文档完整记录了其架构、协议、性能调优与常见问题处理,非常适合想让OpenClaw 真正“上手”互联网的开发者与老用户。

liu_zhiyi的博客 1782

识别产品外观的合格软件_工业视觉工业质检视觉识别机器视觉视觉检测智能制造工业检测缺陷...

随着工业物联网技术的迅猛发展,掀起了以云计算、大数据、以及人工智能 AI 等信息技术正与传统工业深入融合,由此衍生的 “智能制造4.0” 理念,正在为全球工业带来深远变革。中国的制造业巨头也纷纷借此发力,向智能化、数字化制造演进,实施战略转型。如何高效科学的管理和分析制造业务链上的生产价值,推进制造企业生产工艺优化与产品质量提升是每一个制造企业在数字化、智能化转型过程中的必经之路。业务发展带来的挑...

weixin_42502419的博客 754

qcc514x-qcc304x调试笔记

qcc514x-qcc304x调试笔记-1-QCC514x系列 qcc514x-qcc304x调试笔记-2-开发环境搭建 qcc514x-qcc304x调试笔记-3-如何修改蓝牙名称 qcc514x-qcc304x调试笔记-4-如何修改蓝牙地址 qcc514x-qcc304x调试笔记-5-如何区分左右耳 qcc514x-qcc304x调试笔记-6-PIO相关操作 ...

leezs的博客 1245

使用 Python 调用 GitHub REST API 爬取 GitHub 仓库信息(完整指南)

GitHub 提供了功能强大的 REST API,允许开发者通过编程方式访问 GitHub 上的仓库、用户、提交记录、PR(Pull Request)等信息。GitHub REST API 是 GitHub 官方提供的 API 接口,支持通过 HTTP 请求来操作 GitHub 上的资源。在本文中,我们将使用 Python 编写一个完整的爬虫程序,调用 GitHub 的 REST API 来爬取 GitHub 仓库的信息。目前 GitHub 使用的主要是 v3 版本的 REST API。

2201_76125261的博客 1113

Open3D (C++) KD tree的使用【2025最新版】

Open3D (C++) KD tree的使用,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 1566

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 5、python-连接redis
下一篇: 4、java-类反射
技术清点
博客等级 码龄9年 3粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值