问题标签 [adodbapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
267 浏览

python - 向 SQL 查询传递多个参数时 Python 崩溃

在 Windows 7 上使用adodbapi2.6 包时,当向 SQL 查询传递多个参数时,Python 将崩溃(生成“Python 已停止工作”弹出窗口)。我正在尝试将参数传递给 ADO 连接游标以查询 SQL Server Compact 数据库 (.sdf)。

我也尝试过正常的字符串格式,它工作正常,但根据许多 stackoverflow 讨论是一个安全漏洞。

我的代码如下:

传递一个参数可以正常工作,例如:

并且执行非参数化查询工作正常,例如:

但是,当使用两个参数尝试完全相同的查询时,它会使 python 崩溃,并且在编辑器中没有生成错误消息,例如:

从命令提示符(在 Windows 7 中)运行文件时,这会生成一个弹出窗口,声称“Python 已停止工作”,其中包含一堆信息,包括:

然后进程退出(在 JupyterLabs/VSCode 上尝试时,它会冻结内核)

我尝试将参数作为列表传递,使用不同的参数样式(格式和命名,尽管我认为 adodbapi 将这一切都转换回标准 qmark 格式),更改光标设置和不同的多参数查询,所有这些都具有相同的结果。

这是正确使用参数传递吗?我知道您不应该传递表或列名,但这似乎是一个正确的查询,应该可以正常执行。

0 投票
1 回答
2864 浏览

python - 无法使用 python adodbapi 库建立数据库连接

我正在尝试使用以下代码使用 python 库adodbapi最新提供程序建立 SQL Server 数据库连接- OLEDB

但是,我无法建立联系。我遇到了巨大的跟踪错误,我无法弄清楚:

请任何人都可以让我知道我的连接字符串中有什么问题/缺失吗?

0 投票
0 回答
434 浏览

python - 使用带有 Windows 身份验证的 python 建立 SQL Server 数据库连接

我正在使用adodbapi库连接到 SQL Server 的数据库。

我下面的连接字符串与 SQL Server 身份验证完美配合-

当我尝试使用 Windows 身份验证执行连接时,它不起作用。

我修改了连接字符串如下:

我得到了这个例外:

Traceback(最近一次调用最后一次):
文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py”,第 113 行,在连接中

co.connect(kwargs)

文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py”,第 275 行,在连接中

self.connector.Open() # 打开 ADO 连接

文件“”,第 3 行,打开
文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\win32com\client\dynamic.py”,第 287 行,在ApplyTypes

结果=自我。oleobj .InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)

pywintypes.com_error: (-2147352567, '发生异常。', (0, 'Microsoft OLE DB Driver for SQL Server', '登录失败。登录来自不受信任的域,不能与集成身份验证一起使用。', 无, 0, -2147467259), 无)

在处理上述异常的过程中,又出现了一个异常:

Traceback(最近一次调用最后一次):
文件“Workflow.py”,第 47 行,在 sql_connection

conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};Integrated Security=SSPI;Persist Security Info=False".format(_SERVER_NAME,_DATABASE))

文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py”,第 117 行,在连接中

raise api.OperationalError(e, message)

adodbapi.apibase.OperationalError: (com_error(-2147352567, '发生异常。', (0, 'Microsoft OLE DB Driver for SQL Server', '登录失败。登录来自不受信任的域,不能与集成身份验证一起使用。 ', None, 0, -2147467259), None), '打开与“PROVIDER=MSOLEDBSQL;Data Source=TESTSERVER;Database=TEST;Integrated Security=SSPI;Persist Security Info=False”的连接时出错')

请任何人都可以让我知道如何使用 Windows 身份验证与 SQL Server 建立连接?

0 投票
1 回答
562 浏览

sql-server - 无法使用 python 对 SQL Server 执行 Windows 身份验证

下面显示的我的 Python 代码是为了使用 Windows 身份验证创建 SQL Server 连接而编写的。我有使用adodbapi库进行数据库连接的限制。

请谁能告诉我这段代码缺少什么?我参考了图书馆的文档,但没有提到 Windows 身份验证。

我参考了很多关于该异常的文章。但是他们似乎对理解异常的性质及其解决方案没有帮助。

多步 OLE DB 操作产生错误。检查每个 OLE DB 状态值(如果可用)。没有做任何工作。

代码:

例外:

回溯(最近一次通话最后):

文件“C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py”,第 113 行,连接
co.connect(kwargs)

File "C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py", line 275, in connect
self.connector.Open() # 打开ADO连接

文件“”,第 3 行,打开
文件“C:\Arelle-master\venv1\lib\site-packages\win32com\client\dynamic.py”,第 287 行,ApplyTypes
结果 = self. oleobj .InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)

pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Provider', 'Multiple-step OLE DB operation generated errors. 检查每个 OLE DB 状态值,如果可用。没有完成任何工作。', None, 1240640, -2147217887), 无)

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次通话最后):

文件“winAuthentication.py”,第 8 行,在
conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};Integrated Security = True;".format(_SERVER_NAME,_DATABASE))

文件“C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py”,第 117 行,在连接中
引发 api.OperationalError(e, message)

adodbapi.apibase.OperationalError: (com_error(-2147352567, 'Exception occurred.', (0, 'Provider', 'Multiple-step OLE DB operation generated errors. 检查每个 OLE DB 状态值,如果可用。没有完成任何工作。 ', None, 1240640, -2147217887), None), '打开与“PROVIDER=MSOLEDBSQL;Data Source=MSSQLSERVER01;Database=TESTDB;Integrated Security = True;”的连接时出错')

0 投票
0 回答
76 浏览

sql - 使用 INSERT ... OUTPUT 和 ADODBAPI 时如何获取 IDENTITY 值

我正在尝试使用 OUTPUT 获取新插入行的 ID。但是,我遇到了异常:关闭连接或空查询集上的 fetch()。

我正在使用adodbapi进行 SQL Server 连接。

代码:

例外:

0 投票
0 回答
1709 浏览

python - 在 Python(adodbapi 库)中使用动态参数“?”进行 SSAS MDX 查询

我正在使用adodbapipython 库来查询 SSAS Cube。本质上,我的目标是要求用户首先输入帐户 ID。然后,我希望在查询的 WHERE 部分中将其作为参数 动态传递,并根据我在下面链接的文档中提到的方式在代码部分中?包含一个参数。是我得到错误的地方,我还复制并粘贴了下面的大部分错误。cur.execute()cur.execute()

我已将问题缩小到参数不起作用的事实。动态参数对我很有效PyODBCpd.read_sql但它们似乎不适用于adodbapi,我必须使用它,因为它是我在 python 中成功查询 SSAS 多维数据集的唯一库。

我已经尝试了一切并且没有想法。我正在参考这个文档:http ://adodbapi.sourceforge.net/quick_reference.pdf和其他一些类似的stackoverflow帖子:在此处输入链接描述,但我无法弄清楚!我的 MDX 很糟糕,如果其他人对我如何重写 MDX 查询有想法,以便它在动态参数方面与 adodbapi 配合得更好,如果它实际上是库的问题。

0 投票
1 回答
152 浏览

python-3.x - adodbapi SQL Server CE 查询在选择特定列时崩溃

.sdf经过数小时的头痛后,我设法使用以下连接字符串使用 adodbapi 使用 Python连接到数据库文件:

只是陷入这种愚蠢的......情况......

选择将适用于除 B 列之外的任何其他列

所以它必须与该数据有关,因为使用 sdfBrowser 相同的查询可以正常工作。

回溯(最近一次通话最后):

_execute_command 记录集中的文件“C:...PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\adodbapi\adodbapi.py”,第 676 行
,count = self.cmd.Execute()

文件“”,第 2 行,在执行

文件“C:...PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\win32com\client\dynamic.py”,第 271 行,在ApplyTypes
result = self. oleobj .InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)

pywintypes.com_error: (-2147352567, '发生异常。', (0, 'Microsoft Cursor Engine', '多步操作产生错误。检查每个状态值。', None, 0, -2147217887), None)

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次通话最后):


cursor.execute(q)中的文件“d:\data.py”,第 63 行

文件“C:...PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\adodbapi\adodbapi.py”,第 869 行,在执行
self._execute_command()


_execute_command self._raiseCursorError(klass, _message)中的文件“C:...PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\adodbapi\adodbapi.py”,第 684 行


_raiseCursorError eh(self.connection, self, errorclass, errorvalue)中的文件“C:...PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\adodbapi\adodbapi.py”,第 557 行

文件“C:...PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\adodbapi\apibase.py”,第 50 行,在标准错误处理程序中
引发错误类(错误值)

adodbapi.apibase.DatabaseError: (-2147352567, 'Exception occurred.', (0, 'Microsoft Cursor Engine', '多步操作产生错误。检查每个状态值。', None, 0, -2147217887), None)

命令:

从 [table_name] 中选择 A,B

参数:
[]

有什么建议么?

0 投票
0 回答
26 浏览

ado - ADODB 记录集 - 如何在不将所有记录加载到堆内存的情况下异步获取记录

我正在使用 ADODB C++ 执行查询,例如从表中选择 *。这张表有大约 4GB 的大数据。因此,当我执行查询时,它会获取所有记录并增加堆内存并将所有记录加载到客户端计算机虚拟内存上。这是我的代码

因此,当我们执行最后一行 Recordset Open 时,这将阻塞,直到获取所有记录。所以它消耗了系统的所有堆内存。

期望/要求:我们可以批量获取记录/仅几行吗?, 所以我们可以分配那个堆内存并释放它。所以这不会消耗所有客户端堆内存。我们可以异步获取我们将批量获取下一条记录吗?所以我们不想一次性获取所有记录。

0 投票
0 回答
104 浏览

python - 使用“adodbapi”Python 库通过服务主体建立与 Azure 分析服务的连接

我正在尝试使用adodbapi连接到 Python 中的 Azure 分析服务。使用应用程序服务主体。

虽然我能够通过多因素身份验证使用我的个人凭据进行连接和执行。但是,我对如何使用adodbapi通过服务主体建立连接感到震惊

下面的代码仅供参考,我在阅读了几篇文章后正在尝试。但是,没有任何结果。

有人可以帮忙吗?

0 投票
1 回答
59 浏览

python - Python中的DAX日期查询

我正在 Python 脚本中运行 DAX 查询(使用 adodbapi),并希望从两个日期(字段“date_created”)之间的表(称为数据)中提取数据,但是出现语法错误。