2025年python 数据库 连接池(python oracle数据库连接池)

python 数据库 连接池(python oracle数据库连接池)一 Python 使用 pyodbc 连接数据库 Pyodbc 是 python 连接多个数据库了类型的库 它可以通过 ODBC 驱动程序连接到各种数据库 如 Microsoft SQL Server Oracle IBM DB2 等 1 安装 pyodbc 使用 python 连接数据库前 需要安装 pyodbc pip install pyodbc 2 使用 pyodbc 连接数据库 import pyodbc

大家好,我是讯享网,很高兴认识大家。



一、Python使用pyodbc连接数据库

 Pyodbc是python连接多个数据库了类型的库。它可以通过ODBC驱动程序连接到各种数据库,如Microsoft SQL Server、Oracle、IBM DB2等。

1.安装pyodbc。

使用python连接数据库前,需要安装pyodbc。

pip install pyodbc

2.使用pyodbc连接数据库

import pyodbc          #使用pyodbc作为连接应用程序和数据库的管道

DBfile = os.getcwd()+ u""".mdb"""         #起始执行目录数据库文件 

#建立一个连接对象,该对象用odbc连接管道连接应用程序和指定的数据库 

conn = pyodbc.connect (u"Driver = {Microsoft Access Driver (.mdb,*.accdb)}; DBQ=" + DBfile) 

#为数据连接创建游标对象,此时游标对象中没有存放任何数据 

cursor = conn.cursor() 

cursor.close()        #关闭游标

conn.close()         #关闭数据库连接

注:在使用代码前,先把数据源创建好。

二.python使用pywin32连接数据库

 Python win32com.client是python库,它提供了与windows操作系统中的com组件进行交互的功能。通过使用该库,我们可以在python中使用com对象。调用com组件中的方法和属性,并与其他应用程序进行交互。可通过python编写脚本来自动化执行各种windows任务,如操作office文档、与数据库交互等。

1.安装python3.7及以下版本(32位或64位)

2.安装与python版本相对应的win32com.client版本

https://www.sourceforge.net/projects/pywin32/files/pywin32

3.安装与数据库版本相配的数据库引擎

Accessdatabaseengine.exe

测试成功版本:

Python ——3.7.1

Win32——-build 221 32位

数据库引擎——32位或64位


讯享网

import win32com.client

conn = win32com.client.Dispatch(r"ADODB.Connection")

#DSN = ‘PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA SOURCE = *.mdb’ #Access2007以前

DSN = ‘PROVIDER = Microsoft.ACE.OLEDB.12.0;DATA SOURCE = .mdb’ #Access2007及以后

conn.Open(DSN)

rs = win32com.client.Dispatch(r’ADODB.Recordset’)

tablename = ‘表’

rs.Open(‘[’ + tablename + ‘]’, conn, 1, 3)

#rs.MoveFirst() #光标移到首条记录

while not rs.EOF:

  for i in range(rs.Fields.Count):

    print(rs.Fields[i].Name, ":", rs.Fields[i].Value)  #字段名:字段内容

  print(end=’ ‘)

  rs.MoveNext()   #光标移到下条记录

print(‘该表有’+str(rs.Fields.Count)+‘个字段’)   

print(‘该表有’+str(rs.RecordCount)+‘条记录’)

conn.Close()

注:

rs.fields(i).name是指建立的rs记录中第i个字段的名称(从0开始,i为1指第2个字段名);

rs.fields.count表示记录集的列数,如数据表中有3列,则rs.fields.count也有3列;

rs.recordcount表示数据集的条数,即行数,可以使用rs.movenext向下移动;

While not rs.eof 中rs.eof 表示记录结尾,是一个标记,代表记录结尾;

rs.fields(i).value是用来返回记录集rs当前位置第一个字段的值。

小讯
上一篇 2025-05-05 13:40
下一篇 2025-05-26 11:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208450.html