问题标签 [pypyodbc]

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 回答
3767 浏览

python - 在 Python 中连接到 .accdb 并通过 pandas 读取表

我只是想连接到 .accdb 并读取现有表。我正在使用 pypypodbc 进行连接:

连接似乎有效,我可以使用以下方法阅读大多数表格:

但是,当我尝试读取包含具有不同小数点(但没有空值)的 Double 值的列的表时,我得到以下信息:

ValueError:无法将字符串转换为浮点数:b'E-2'

如何将这些数据输入到熊猫中?

0 投票
2 回答
495 浏览

python-3.x - MariaDB,pypyodbc,“未知的准备好的语句处理程序”在加载有“LOAD DATA LOCAL INFILE”的表上执行“SELECT”查询。

Python 3.4.3、MariaDB 10.0.21、MariaDB ODBC 连接器 1.0.0、pypyodbc 1.3.3,在 64 位 Windows 7 上均为 64 位。

我有一个 python 脚本,它应该创建一个表,用固定宽度文件中的数据填充它,然后对它运行一个 SELECT 语句。都是简单的东西。我的脚本看起来像这样:

它从文本文件中的每一行中获取第一个字符并将其粘贴在表中的唯一列中。但是,当“SELECT”语句出现时,我遇到以下错误:

真正让我感动的是,我可以通过在填充表和执行“SELECT”之间关闭并重新打开数据库连接来摆脱错误,如下所示:

不幸的是,这实际上不是我的问题的有效解决方案。这不仅是我不应该做的事情,而且对于临时表也无济于事,因为它们只是在“修复”的断开连接阶段被丢弃。任何见解都会很棒,这让我陷入困境。

0 投票
1 回答
137 浏览

sql-server - 将 csv 文件插入 SQL Server 数据库:listdir 出错?

我知道在这里抛出代码并寻求帮助以解决问题是不好的。这个问题似乎有点超出我的想象。

该代码应该遍历所有文件和子文件夹。我认为这里没有任何日志错误。问题是我遇到了再次处理相同文件并导致数据库插入在主键约束上失败的问题。

这是我的代码:

0 投票
1 回答
6069 浏览

python - 在 Python 脚本中创建 SQL Server 临时表

我正在使用 pypyodbc 连接到 SQL Server。我想将我的结果集存储到一个临时表中,就像我们在 SQL 中所做的那样。但是每次我尝试这样做时-我都会收到以下错误消息:

pypyodbc.ProgrammingError: ('24000', '[24000] [Microsoft][ODBC SQL Server Driver]无效游标状态')

这就是我要查询的内容:

0 投票
2 回答
2240 浏览

sql-server - 我可以在 Python 的 Access 数据库中同时使用本地和 ODBC 链接表吗?

pypyodbc 如何连接到 .accdb 数据库中的链接表?这是否可能,或者这是pyodbc的限制?

我需要从 MS Acess .accdb 数据库中获取数据到 Python 中。这非常有效,我可以pypyodbc用来访问 .accdb 数据库中定义的表和查询。但是,该数据库也有链接到外部 SQL Server 的表。访问此类链接表时pypyodbc抱怨它无法连接到 SQL 服务器。

test.accdb包含两个表:(Test本地表)和cidb_ain(链接 SQL 表)

以下 Python 3 代码是我访问数据的尝试:

输出:

错误消息大致翻译为“与 'SQL Server Native Client 11.0SQLHOST' 的 ODBC 连接失败”。

我无法使用 pypyodbc 通过 .accdb 数据库访问 SQL Server,但cidb_ain可以从 MS Access 中查询表。此外,我可以直接连接到 SQL Server:

考虑到 (1) MS Access(和 Matlab 也是)可以使用 .accdb 文件中包含的信息来查询链接表,并且 (2) SQL Server 是可访问的,我假设问题与pypyodbc. (驱动程序名称和主机名'SQL Server Native Client 11.0SQLHOST'在错误消息中的排列方式似乎也有些可疑。)

我以前没有使用 Access 的经验,所以请耐心等待,如果我遗漏了对我来说似乎不必要的重要信息,请告诉我...

0 投票
1 回答
671 浏览

python - Python:将 TupleRow 转换为 Datetime 对象

我正在查询 SQL 服务器以获取 DATETIME 值。现在我想将此值插入到另一个表中。这是我的脚本:

如何将此 TupleRow 转换为 DATETIME SQL 值?由于类型不兼容,目前我收到此错误:

TypeError:“类型”对象不可下标

0 投票
2 回答
965 浏览

python - pypyodbc:[Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]ConnectionWrite (send())

我的 python 脚本读取了大约一半的数据集(10000 行中的大约 5000 行),并且突然在中途产生了这个错误:

[Microsoft][ODBC SQL Server 驱动程序][DBNETLIB]ConnectionWrite (send())

我正在使用 pypyodbc 连接到 Azure SQL 服务器。我无法在网上的任何地方找到解决方案。我什至不知道导致此错误的原因是什么。

请帮忙。

0 投票
2 回答
1139 浏览

sql-server - 在 Linux 中配置 ODBC 驱动程序

我已按照此链接中的所有步骤操作: https ://code.google.com/p/pypyodbc/wiki/Linux_ODBC_in_3_steps

但我仍然收到此错误:

[unixODBC][Driver Manager] 未找到数据源名称,且未指定默认驱动程序

然后当我开始研究更多时,我发现了这个: https ://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified

现在它说要修改 odbc.ini 文件以包含服务器和数据库名称。但是如果我想同时连接多个服务器,这种情况下应该如何配置 odbc.ini 文件呢?

另外 - 在我的数据库连接字符串中,我应该将驱动程序名称输入为 {SQL Server} 还是 {FreeTDS}?

0 投票
3 回答
1872 浏览

python - 带参数的 PypyODBC:[ODBC Microsoft Access 驱动程序] 参数太少。预计 4

我正在使用 pypyodbc 从访问数据库中选择数据。我正在使用以下带有三个已指定参数的查询。

我尝试了几个品种,但无济于事。我看不出我的语法有什么问题。


参数有以下几种类型:

其中,打印时:

pypyodbc.DatabaseError: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] 参数太少。预期为 4。')

打印 1:[thisDate]、[thisTime]、[uSec]、[threeR]、[twoCV]

打印 2: SELECT [thisDate], [thisTime], [uSec], [threeR], [twoCV] FROM [table_a] WHERE (thisDate = ? AND thisTime > ?) OR (thisDate > ?) , 1900-09-16 , 00:00:00


编辑:当我删除其中一列时,它似乎成功执行。尽管两列都存在于源表中。这并没有回答为什么原始查询不执行的问题。

编辑 2:更改日期和时间列的名称并没有什么不同。以下仍然给出错误:

[Microsoft][ODBC Microsoft Access Driver] 参数太少。预计5。

编辑 3:这是它从中提取的表的设计视图。 在此处输入图像描述

0 投票
2 回答
2153 浏览

sql-server - SQL Server 错误 - 操作数类型冲突:ntext 与 int 不兼容 - (我什至没有使用“ntext”)

我正在操作的专栏之一是:

所以基本上我试图在此列中插入最多 600 个字符的大文本Comments。当我运行我的脚本时,前 10 行的一切都很顺利,然后突然间我收到了这个错误:

pypyodbc.DataError: ('22018', '[22018] [Microsoft][ODBC SQL Server Driver][SQL Server]操作数类型冲突:ntext 与 int 不兼容')

然后再次如果我重新运行查询,接下来的 10 行一切都将开始顺利进行,正如您现在可能已经猜到的那样,我再次遇到相同的错误。

我能做些什么来解决这个问题?

编辑

我试过使用VARCHAR(MAX), NVARCHAR(MAX), VARCHAR(800), TEXT. 我每次都得到同样的错误。