gpt4 book ai didi

python - 在使用 Python 和 pypyodbc 的 Windows 上,如何列出可用的驱动程序?

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:38 24 4
gpt4 key购买 nike

对于许多人共享的 python 脚本,我需要一个解决方案来检测用户驱动程序,以便我可以动态构建连接字符串。我目前使用的操作系统环境 COMPUTERNAME 如下:

if os.environ['COMPUTERNAME'] == 'MattsDesktop':
print("You are using: Oracle 12")
self.DataConnectOracle = 'DRIVER={Oracle in 12cR1client32bit};SERVER=Xyz;DBQ=DEVenv;UID=AllDev;PWD=Secret2Secret'

但是每当用户进行更改时都必须更新。看来我应该能够获取他们的驱动程序信息,而不必维护这些 if。

最佳答案

虽然它不会为您提供驱动程序的确切版本,但 pypyodbc.drivers() 将为您提供驱动程序的名称 Windows 上可用的驱动程序。这应该足够了,因为您只需要驱动程序名称(而不是版本)来构造连接字符串。

例如,在我的机器上

import pypyodbc
drivers_list = sorted(pypyodbc.drivers())
for driver_name in drivers_list:
print(driver_name)

打印

Driver da Microsoft para arquivos texto (*.txt; *.csv)
Driver do Microsoft Access (*.mdb)
Driver do Microsoft Excel(*.xls)
Driver do Microsoft Paradox (*.db )
Driver do Microsoft dBase (*.dbf)
Driver para o Microsoft Visual FoxPro
Microsoft Access Driver (*.mdb)
Microsoft Access Driver (*.mdb, *.accdb)
Microsoft Access Text Driver (*.txt, *.csv)
Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)
Microsoft Access-Treiber (*.mdb)
Microsoft Excel Driver (*.xls)
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
Microsoft Excel-Treiber (*.xls)
Microsoft FoxPro VFP Driver (*.dbf)
Microsoft ODBC for Oracle
Microsoft Paradox Driver (*.db )
Microsoft Paradox-Treiber (*.db )
Microsoft Text Driver (*.txt; *.csv)
Microsoft Text-Treiber (*.txt; *.csv)
Microsoft Visual FoxPro Driver
Microsoft Visual FoxPro-Treiber
Microsoft dBase Driver (*.dbf)
Microsoft dBase VFP Driver (*.dbf)
Microsoft dBase-Treiber (*.dbf)
MySQL ODBC 5.3 ANSI Driver
MySQL ODBC 5.3 Unicode Driver
ODBC Driver 11 for SQL Server
SQL Server
SQL Server Native Client 11.0
SQLite3 ODBC Driver

对于 Oracle 驱动程序的列表,我可以使用

oracle_list = [x for x in pypyodbc.drivers() if "Oracle" in x]

关于python - 在使用 Python 和 pypyodbc 的 Windows 上,如何列出可用的驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44703409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com