ADODBAPI 与数据库的打开连接数

2023-12-06

我想数一下没有。当前与 ms-access 数据库打开的连接数。

例如,两个应用程序正在使用同一个数据库。那么我怎样才能得到这个计数呢? pypyodbc 中是否有 ms-access 函数或任何设施?

使用adodbapi,我怎么能得到no.与数据库的打开连接?

我尝试了以下代码。

#importing adodbapi 
import adodbapi # success 
#connection to database using the DSN 'test'
myConn = adodbapi.connect('test') # success
#get no. of open connection using openschema 
myConn.connector.OpenSchema(-1, None,"{947bb102-5d43-11d1-bdbf-00c04fb92675}") #fail

它给出以下错误。

pywintypes.com_error: (-2147352567, '发生异常。', (0, u'ADODB.Connection', u'对象或提供程序无法
执行请求的操作。', u'C:\WINDOWS\HELP\ADO270.CHM',
1240648、-2146825037)、无)

有人可以提供解决方案吗?


就我个人而言,在这种情况下,我倾向于避免对 adodbapi 大惊小怪,只需让我的 Python 脚本编写一些 VBScript 来创建具有开放连接的制表符分隔的计算机列表,通过运行 VBScriptsubprocess.Popen,并解析结果:

import os
import subprocess

## test data
databaseFileSpec = r"Z:\pyTest.mdb"

vbsFileSpec =  os.environ['TEMP'] + r"\mypytemp.vbs"

scriptCode = """Option Explicit
Dim con, rst, strOut, strSeparator
Const adSchemaProviderSpecific = -1
Set con = CreateObject("ADODB.Connection")
con.Open( _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source="""
scriptCode += databaseFileSpec
scriptCode += """")
Set rst = con.OpenSchema( _
        adSchemaProviderSpecific, _
        , _
        "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
strOut = ""
strSeparator = ""
Do While Not rst.EOF
    If rst(2).Value = "True" Then
        strOut = strOut & strSeparator & Left(rst(0).Value, Len(Trim(rst(0).Value)) - 1)
        strSeparator = vbTab
    End If
    rst.MoveNext
Loop
WScript.Echo strOut
rst.Close
con.Close"""

f = open(vbsFileSpec, 'w')
f.write(scriptCode)
f.close()

tabString = subprocess.Popen(
    "cscript /nologo \"" + vbsFileSpec + "\"",
    shell=True,
    stdout=subprocess.PIPE).stdout.read()
os.remove(vbsFileSpec)

print 'The following machines are connected to "' + databaseFileSpec + '":'
for x in tabString.split("\t"):
    print x

当我在两台不同的机器上打开数据库并运行上面的脚本时,我得到

The following machines are connected to "Z:\pyTest.mdb":
TESTPC
GORD01
GORD01

我的笔记本 (GORD01) 显示了两次,因为我在 Access 中打开了数据库,并且 VBScript 在运行时也打开了一个连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ADODBAPI 与数据库的打开连接数 的相关文章

随机推荐

  • Tkinter 文档与 PEP 8 相矛盾

    PEP 8 states 应避免通配符导入 来自 import 因为它们使命名空间中存在哪些名称变得不清楚 从而使读者和许多自动化工具感到困惑 尽管如此官方文档是矛盾的 要使用 Tkinter 您只需要一个简单的导入语句 import tk
  • 整个应用程序的通用页脚 [Android]

    好吧 我想知道这是否可以做到 我所需要的只是一个常见的页脚 如栏 其中将包含将要显示的广告 我想知道是否有任何方法可以使我的应用程序的这一部分成为通用的 我知道包含标签 但所做的只是在引用它的任何地方添加特定的布局 这样做的作用是 每次我从
  • 来自 x509 中字符缓冲区的 EVP_PKEY (PKCS7)

    我有一个 DER 证书 我正在从中检索 unsigned char 缓冲区中的公钥 如下所示 这是正确的获取方式吗 pStoredPublicKey X509 get pubkey x509 if pStoredPublicKey NULL
  • 32 位浮点数相加。

    关于浮点数 我学到的东西比我想知道的还要多 可以说我需要添加 1 10000000 00000000000000000000000 1 01111000 11111000000000000000000 2的补码形式 第一位是符号 接下来的
  • 以问号开头的 HTML 标签?

    我正在学习谷歌应用程序脚本 并且在this教程中 我看到了一些奇怪的语法 and h1 Messages h1 ul ul
  • HERE Map/MapView 不使用 MapFragment

    有没有办法获得Map or MapView没有放置一个MapFragmet里面一个Layout
  • .NET 垃圾收集在这里无法正常工作?

    我们有一个在 NET 4 0 IIS 7 ASP NET 4 GB 服务器 RAM 上运行的图像转换脚本 用于调整大图像的大小 因此需要大量内存 第一个脚本将内存使用率增加到几乎 100 几乎没有为正在运行的 SQL Server 留下任何
  • 更改 R 中图形的字体

    在我的研究中 我使用 R 生成各种图表 我发现大多数图表都带有各种大小的 Sans Serif 字体 如何将图表中的所有文本 x 标签 y 标签 标题 图例等 更改为统一字体 例如Times New Roman 12pt 粗体 您可以使用外
  • Wildfly 和 Jackson @JsonIgnore 注释

    我对 Wildfly 和 Java EE 的某些部分相当陌生 我有一个使用 RestEasy 在 Wildfly 上运行的休息服务 我的 用户 实体有一个 AccessToken 实体 理想情况下 我希望能够以 JSON 形式发送用户实体
  • 如何获取一组 mysql 总行数的百分比?

    下面我有一个查询 将从用户代理表和 IP 地址链接表中获取站点最常见的用户代理 SELECT count as num string FROM useragent ip left join useragents on useragent i
  • 龙卷风框架(FacebookGraphMixin)

    我想尝试使用 Tornado Framework 将应用程序请求从我的 Facebook 应用程序发送到用户 我正在关注http www tornadoweb org documentation auth html但我不知道如何解决这个错误
  • 在 Node.js 跨平台中下载和解压缩文件的最简单方法?

    只是寻找一个简单的下载和解压解决方案 zip or tar gz任何操作系统上 Node js 中的文件 不确定这是否是内置的 或者我必须使用单独的库 有任何想法吗 只需寻找几行代码 这样当下一个 zip 文件出现时我想在节点中下载 这是理
  • Angular2 Dart - 获取 Angular2 组件内的文本

    我有一个item我在其他组件中使用的组件 项目组件通常如下所示
  • R 中均值的分组条形图

    我有一个数据集 学习者 其中包含学生测试成绩 学习者 literacy total 他们的年级 即1 2 3 12年级 和他们的性别 学习者 性别 我想创建一个条形图 其中 x 轴上有成绩 y 轴上有平均分数 每个成绩有两列 一列用于男性
  • 如何在 django 上自动创建超级用户?

    我要自动运行manage py createsuperuser on django但似乎无法设置默认密码 我怎样才能得到这个 它必须独立于 django 数据库 从 Django 3 0 开始 您可以使用默认值createsuperuser
  • 将 JPanel 与 Eclipse 的 WindowBuilder 重叠

    我正在使用 WindowBuilder Pro 进行 eclipse 并且我希望有两个彼此完美重叠的 Jpanels 然后我就可以根据组合框的选择来切换它们的可见性 当我尝试在 GUI 构建器中实现此目标时 第一个面板被第二个面板取代 请给
  • 如何处理应用程序被HOME按钮最小化

    前几天出现了一个问题 我有一个监听 GPS 位置的应用程序 监听器是一个始终工作的后台服务 该服务在应用程序级别保存数据 每个活动都会读取该数据 因此 当我按下后退按钮时 我能够捕获此事件 并且可以停止服务 但是当我按下 HOME 按钮时
  • CocoaPods 文件夹不存在/权限错误

    我是 CocoaPods 的新手 我尝试过运行 pod install 在我的 Mac 上安装我的 Pod 但我收到文件夹权限错误 Users username Library Caches CocoaPods 该文件夹甚至不存在 难道是我
  • 如何从 Google 地图 API 函数中获取 javascript lat/lng 变量

    我需要从邮政编码获取纬度 经度 因此我使用 Google 地图 地理编码 API 我无法从地理编码脚本中运行的函数中获取 lat lng 变量 我正在使用的代码如下
  • ADODBAPI 与数据库的打开连接数

    我想数一下没有 当前与 ms access 数据库打开的连接数 例如 两个应用程序正在使用同一个数据库 那么我怎样才能得到这个计数呢 pypyodbc 中是否有 ms access 函数或任何设施 使用adodbapi 我怎么能得到no 与