问题标签 [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 投票
2 回答
2421 浏览

sql - SQL CE 与 Python 的连接

问题陈述:将存储在 .sdf 文件中的数据提取到 python。系统配置:Win 10 Pro 64 位、python 3.5.2-64 位、adodbapi 库、SQL CE 3.5

我对编程很陌生,我选择 Python 作为我学习的第一门语言。目前,我在连接 SQL CE 3.5 .sdf 文件的过程中遇到了困难。

我使用了 adodbapi 库。在过去的一周里,我在网上广泛搜索了这个问题的解决方案,并确保我的连接字符串是正确的。我尝试了堆栈溢出和https://www.connectionstrings.com/microsoft-sqlserver-ce-oledb-3-5/上提供的多个选项/解决方案。

代码:

错误信息:

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

文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 93 行,在 make_COM_connecter c = Dispatch('ADODB.Connection') #connectCoIninialize v2.1.1 adamvan NameError:未定义名称“调度”

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

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

文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 112 行,连接 co.connect(kwargs) 文件“D:\Work\Programs\Python35. virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 269 行,在连接 self.connector = connection_maker() 文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\ adodbapi\adodbapi.py",第 95 行,在 make_COM_connecter 中引发 api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.") adodbapi.apibase.InterfaceError: Windows COM Error: Dispatch('ADODB.Connection ') 失败的。

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

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

文件“D:/Work/Programming/Python/SQL_DataTransfer/SQL_CE_reportDB.py”,第 8 行,连接 = adodbapi.connect(cons_str) 文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages \adodbapi\adodbapi.py",第 116 行,在连接中引发 api.OperationalError(e, message) adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: Dispatch('ADODB.Connection') failed.",), '打开与“Provoider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;Data Source=D:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;Persist Security Info=False;SSCE:Max Database Size=4091”的连接时出错')

在这一点上,任何帮助都非常感谢。

谢谢你,真诚的,JD。

0 投票
0 回答
58 浏览

python - 在 Python 中从 ADODBAPI 捕获 STATISTICS IO 输出

我有以下演示代码可以正常工作,但我想捕获 STATISTICS IO 的输出。我找不到捕捉这一点的正确方法。

我尝试了这段代码,它是从另一个stackoverflow答案中提取的,但没有成功:

我收到此错误:

c:\test3\MedusaPerfPractice>python MedusaPerfGui.py 提供者=SQLOLEDB;服务器=LINUSG51\SQLEXPRESS;数据库=mytest;集成安全=SSPI;回溯(最后一次调用):文件“MedusaPerfGui.py”,第 38 行,在 myConn.Open() 文件“C:\Users\russ960\AppData\Local\Temp\gen_py\3.5\B691E011-1797-432E-907A -4D8C69339129x0x6x1.py”,第 3358 行,在 Open 中,用户 ID,密码,选项)文件“C:\Program Files\Python35\lib\site-packages\win32com\client__init__.py”,第 459 行,在ApplyTypes self. oleobj .InvokeTypes(dispid, 0, wFlags, retType, argTypes, *args), pywintypes.com_error: (-2147352567, '发生异常。', (0, 'ADODB.Connection', '操作已被用户取消。 ', 'C:\WINDOWS\HELP\ADO270.CHM',

0 投票
0 回答
103 浏览

python - python.exe 在从服务器执行查询时崩溃

我正在尝试从工作中的分析服务服务器执行微小的 mdx 查询。服务器通过 ms ole db 提供数据,而不是 odbc 规范,这就是我使用 adodbapi 库的原因。

这是我用来从查询执行中获取结果的函数:

原始单值查询效果很好:

如果我遇到语法错误,它也只会给我 adodbapi.Error 消息,这很好。

但是,如果我尝试执行更复杂的查询,例如:

[Goods].[Categories].[Level 01] 有不止一个维度,无论如何我总是收到 python.exe APPCRASH 消息。

我尝试了 python 2 和 3,在 jupyter 和控制台模式下运行,pandas.read_sql_query 方法。结果总是一样的——我得到了 APPCRASH 窗口。

如何解决崩溃并最终执行复杂的查询?任何帮助表示赞赏!

UPD:这是错误窗口。无法将其更改为 EN。应用程序崩溃错误

0 投票
1 回答
114 浏览

python - 为什么 VBA 可以使用未注册的 ACE.OLEDB 提供程序?

我安装了 OLEDB 提供商“Microsoft.ACE.OLEDB.15.0;”的 Office;未注册(我无法从下面附加的 powershell 列表中看到它)

但是,在 Excel VBA 中,我可以在连接字符串中使用此 ACE 提供程序创建并连接到数据源。

但是一个非常相似的python脚本不起作用

是什么原因?

PS:列出已注册提供程序的powershell脚本

0 投票
1 回答
577 浏览

python - python中的sql紧凑连接错误

我该如何解决以下错误?

0 投票
1 回答
596 浏览

python - 使用 SSMS 和 Windows 凭据将 Python 连接到 SQL Server

这是我在使用 python/adodbapi 连接到 SQL Server 数据库时遇到的问题。

我们有一个使用以下方法位于不同域中的 SQL Server 测试数据库。

我可以使用 SQL Server Management Studio 手动登录 SQL 数据库,但无法以编程方式建立连接。

这是我到目前为止所尝试的:

输出:收到的错误如下:

有没有办法解决这个连接问题?

0 投票
3 回答
1200 浏览

python - 将 list[adodbapi.apibase.SQLrow] 转换为 pd.DataFrame

在 sql-server 连接器adodbapi中,只有一个在我的环境中工作。

如何将此列表转换为熊猫 df?

谢谢

0 投票
1 回答
172 浏览

python - 为什么连接到本地 sdf 数据库时需要将光标位置设置为服务器端?

我正在使用 adodbapi 包连接到我桌面上的本地 SQL Server Compact 数据库(.sdf 文件),并且连接器无法正常工作,除非将光标设置为“服务器端”。为什么会这样?

查看 adodbapi 源代码后,我可以看到光标默认设置为客户端(从 2.3.0 版开始)。但是,我看不到程序使用光标位置的位置或将光标位置传递给连接提供程序的位置。这使得很难确定为什么我需要一个服务器端光标位置才能使我的连接正常运行。当 SQL Server 数据库位于本地时,我查看了ADO 客户端与服务器端游标之间的区别?但似乎表名(和其他尝试查询)将成为静态记录集的一部分。

故障的一个例子是:

这给出了错误

但是,包括以下内容会输出正确的表名。

有人知道幕后解释吗?

0 投票
1 回答
384 浏览

python - 无法使用 ADOBDAPI 打开 MS ACESS 数据库

当我尝试使用 Python ADODBAPI 库连接到 MS-Access 数据库时,我收到一条错误消息。

我曾尝试使用 Microsoft.ACE.OLEDB.12.0 提供程序,但它是一回事。我可以在同一台计算机上使用 C# 中的 Microsoft.Jet.OLEDB.4.0 提供程序打开数据库。

我有以下错误代码:

adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: >Dispatch('ADODB.Connection') failed."), '打开连接时出错 >"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D: \lp_2012_3.mdb"')

谢谢你的帮助。

PS:有些人还在使用MS-ACCESS。

0 投票
1 回答
346 浏览

python - Resolving SQL type name error when using qmark style parameters?

I am attempting to make the following parameterized SQL query using a ADO connection through the adodbapi package and I am getting

Type name is invalid

database errors that I can not resolve.

This results in the following error:

DatabaseError: (-2147352567, 'Exception occurred.', (0, 'Microsoft SQL Server Compact OLE DB Provider', 'Type name is invalid.', None, 0, -2147217872), None)
Command:
SELECT * FROM ?
Parameters:
[Name: p0, Dir.: Input, Type: adBSTR, Size: 8, Value: "Compound", Precision: 0, NumericScale: 0]

I am assuming Type name is invalid. and Type: adBSTR are the key components of the message but I cannot find information on this data type other than it is a null-terminated unicode character string.

I have tried different string encoding such as

And the query works fine with the normal string:

Is this actually due to the parameter type or maybe the qmark paramstyle implementation?