返回顶部
首页 > 资讯 > 后端开发 > Python >python2.7能不能同时连接两个数据库
  • 502
分享到

python2.7能不能同时连接两个数据库

2023-06-02 02:06:31 502人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python2.7能不能同时连接两个数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python2.7能不能同时连接两个数据库”吧!一、前言这个问题是本人在开发的时候,遇到

本篇内容主要讲解“python2.7能不能同时连接两个数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python2.7能不能同时连接两个数据库”吧!

一、前言

这个问题是本人在开发的时候,遇到需要在一个脚本里面连接两个数据库的需求,当时对于python2.7不是很熟悉,所以想要在网上搜一下python2.7是否可以同时连接两个数据库,只是并没有一个明确的答案。加上当时脚本一直报错,所以导致本人很怀疑是否同时连接两个数据库是不合理的。。

只是python作为一个成熟的语言,同时连接多个数据库本来就是手到擒来的问题。本篇首先是要回答,python是可以连接多个数据库的,其次是记录一下操作数据库出现的问题。

二、双数据库操作遇到的bug

大致步骤

//连接db1 = MySQLdb.connect(host=dbhost, user=dbuser, passwd=dbpass, db=dbname, port=dbport)db2 = Mysqldb.connect(host=slavehost, user=slaveuser, passwd=slavepass, db=slavedb, port=dbport)//获取cursor对象cursor = db1.cursor()cursor_build = db2.cursor()//操作数据库cursor.execute(sql1)cursor_build.execute(sql2)//结果db1操作成功,db2操作无响应

如步骤所示,本人在操作的时候,发现db1是可以正常执行的,但是到db2就死活不成功,此时的脚本并没有报错。

打印相关信息

(1)打印db2的信息

mysql实例:<MySQLdb.cursors.Cursor object at 0x0000000002DA9908>

sql打印:直接在数据库中执行sql无报错

(2)打印cursor 对象

<_mysql.connection open to 'localhost' at 0000000002D42458><_mysql.connection open to 'localhost' at 0000000002D42E78>

可以看到两个数据库都是有cursor 对象的,而且并没有什么明显的差异,都能正常操作数据库才对

(3)打印返回值

result = db2.execute(insert_build_sql) # 插入数据print result

返回结果是1 ,代表受影响行数是1,但是实际上数据库并没有插入进去。关键是db1还是插入成功了,简直是无语。

三、问题所在

正在本人疯狂搜索无果的时候,一个py大佬刚好在群上发消息,本人果断抓住机会询问这个博主,最终解决了这个问题。

咨询py大佬们,有个大佬问是否开启了autocommit,这肯定是没有的。本来db1能插入成功,本人就想当然以为db2也能插入成功,不需要手动commit之类的。然而还是小看了python,后来百度查询才知道,MySQLdb 在连接后关闭了自动提交,行叭,很强势。

在连接完db之后,新增autocommit属性,设置自动提交

 db1.autocommit(1) db2.autocommit(1)

继续测试,发现完美写入。不过通过这件事也能发现mysqldb操作mysql的一些特性,一般来说,当只连接一个库的时候,是可以进行正常的增删改查的。但是当连接多个库的时候,如果不显式设置autocommit的话,mysqldb 会自动在语句执行完加一句 set autocommit = 0。众所周知的是innodb引擎的操作都是带有事务特性的,关闭自动提交自然是无法成功执行sql的。

到此,相信大家对“python2.7能不能同时连接两个数据库”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: python2.7能不能同时连接两个数据库

本文链接: https://lsjlt.com/news/228554.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python2.7能不能同时连接两个数据库
    本篇内容主要讲解“python2.7能不能同时连接两个数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python2.7能不能同时连接两个数据库”吧!一、前言这个问题是本人在开发的时候,遇到...
    99+
    2023-06-02
  • navicat能不能用来连接oracle数据库
    这篇文章将为大家详细讲解有关navicat能不能用来连接oracle数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一步,打开Navicat。第二步,点击“连接”,...
    99+
    2024-04-02
  • Laravel框架,同时连接2个数据库
    在env内,写入两个数据库的信息 #默认连接DB_CONNECTION=mysqlDB_HOST=localhost //连接地址DB_PORT=3306DB_DATABASE=database //数据库名称DB_USERNAME=...
    99+
    2023-09-03
    数据库 laravel php
  • springboot怎么连接两个数据库
    这篇“springboot怎么连接两个数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot怎么连接两个数...
    99+
    2023-06-29
  • springboot如何连接两个数据库(多个)
    目录一、启动类二、application.yml文件三、创建配置类四 、结构五、多数据源的事物问题一、启动类 1.启动类需要不用加mybatis的@MapperScan注解 @Spr...
    99+
    2024-04-02
  • springboot怎么连接不同数据库
    今天小编给大家分享一下springboot怎么连接不同数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MySQL当url...
    99+
    2023-07-06
  • win7上python2.7连接mysql数据库的方法
    一:安装MySQL-python驱动 pip install mysql 二:连接到MySQL服务器的test数据库 #!/usr/bin/python # -*- coding: UTF...
    99+
    2022-06-04
    数据库 方法 mysql
  • 一个数据库同时安装两个Wordpress咋整?
    主要出于两个目的,第一收集比便大家和以后学习回顾;第二,从基础做一些实用的,增加搜索量,提高博客流量。目标很明确,ItBuLu不喜欢复制黏贴,正好开始研究WP,故整理一二。很多时候,我们购买的虚拟主机都带有子目录,可以建...
    99+
    2022-06-12
    安装两个 Wordpress
  • 阿里云短信不能连接数据库吗?
    阿里云短信是阿里云推出的一款基于云平台的短信服务,它能够帮助企业实现短信的快速、准确、低成本的发送。但是,最近有用户反映阿里云短信不能连接数据库,这究竟是怎么回事呢? 详细说明:首先,我们需要明确一点,阿里云短信本身并不是一个可以连接数据库...
    99+
    2023-11-06
    阿里 连接数据库 短信
  • redis缓存如何连接两个数据库
    Redis缓存可以连接两个数据库,一种常见的方式是使用Redis的多数据库功能。Redis支持多个数据库,每个数据库都有一个唯一的数...
    99+
    2023-08-30
    redis 数据库
  • Springboot怎么同时装配两个相同类型数据库
    这篇文章给大家分享的是有关Springboot怎么同时装配两个相同类型数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。同时装配两个相同类型数据库1.配置文件:spring:  profil...
    99+
    2023-06-25
  • Springboot如何同时装配两个相同类型数据库
    目录同时装配两个相同类型数据库配置连接两个或多个数据库同时装配两个相同类型数据库 1.配置文件: spring: profiles: active: dev ...
    99+
    2024-04-02
  • 如何使用Jdbc连接不同数据库
    今天就跟大家聊聊有关如何使用Jdbc连接不同数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.Jdbc连接Access数据库①通过控制面板&g...
    99+
    2024-04-02
  • Oracle数据库ODBC连接与数据仓库的实时数据同步
    要实现Oracle数据库ODBC连接与数据仓库的实时数据同步,可以使用以下步骤: 首先,确保你已经安装了Oracle数据库ODBC驱动程序,并且已经配置好了ODBC数据源连接到Oracle数据库。 确保你的数据仓库支持ODBC连接,...
    99+
    2024-07-16
    oracle
  • navicat能够连接哪些数据库
    小编给大家分享一下navicat能够连接哪些数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Navicat Premium ...
    99+
    2024-04-02
  • mysql中同时查询两个数据库中数据的方法
    这篇文章给大家分享的是有关mysql中同时查询两个数据库中数据的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql中同时查询两个数据库中数据的方法:首先打开编辑器sub...
    99+
    2024-04-02
  • 两个oracle数据库怎么同步数据
    要同步两个Oracle数据库的数据,可以使用以下方法: 数据库链接:可以在一个数据库中创建一个数据库链接,然后通过该链接在另一个...
    99+
    2024-04-22
    oracle
  • 钉钉能同时登录两个手机吗
    钉钉不能同时登录两个手机,其原因如下:1、每个用户在注册钉钉账号时需要绑定一个手机号;2、多终端登录是指用户可以在一个手机和一个电脑上同时登录钉钉;3、用户可以通过设置设备锁定密码,来保护自己的账号不被他人恶意登录。本教程操作环境:ios系...
    99+
    2023-08-15
  • 数据库连接池揭秘:提升数据库性能的不二法门!
    数据库连接池是一种管理数据库连接的机制,它在内存中维护一个预先建立的可用连接池,供应用程序使用。通过使用连接池,应用程序可以快速获取数据库连接,而无需每次都建立一个新连接。 连接池的优势 减少连接建立开销:建立数据库连接是一个耗时的过...
    99+
    2024-03-03
    数据库连接池、性能优化、数据库连接
  • 安装DiscuzX3.2遇到数据库不能连接的问题
    最近帮朋友安装DiscuzX3.2,遇到了数据库不能连接的问题:Access denied for user 'root'@'localhost' (using password: NO)已经正确填好数据库...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作