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

pypyodbc - pypyodbc 更新号码类型字段

我使用下面的脚本成功更新了 Access .mdb 数据库中的文本字段字段。我正在尝试更新数字类型字段,但出现错误。

当我运行代码时,出现以下错误。

请让我知道您认为问题可能出在哪里。谢谢。

0 投票
1 回答
13354 浏览

python - PyODBC,cursor.execute() 不会将参数插入 SQL 字符串

我正在使用 pypyodbc 将数据插入数据库,当我使用 cursor.execute() 命令时,我尝试输入 sql 字符串和参数,但出现以下错误:

这是我的代码:

0 投票
1 回答
1519 浏览

python - 使用 Access ODBC 创建带有 DECIMAL 列的表

我正在使用 pypyodbc 模块创建一个数据库并在其中添加一个表。

我使用的代码如下:

上面的代码创建了数据库,但是在创建表时会产生错误。错误如下:

ProgrammingError: (u'42000', u'[42000] [Microsoft] [ODBC Microsoft Access Driver] 定义字段中的语法错误。

通过在网上搜索,我发现问题出在最后一个字段的 DECIMAL 类型上,当我从查询中删除它时,它会创建表。

我还尝试更改 Access 中的一个选项以使数据库与 ANSI 92 兼容,当我这样做时,可以从 Access 内部创建表。

因为这个过程必须在数百个数据库中完成,所以我想在 python 循环中执行此操作,但要做到这一点,必须从上面的代码中创建数据库和表。

我在语法中遗漏了什么吗?有谁知道这是否是模块的问题?

0 投票
1 回答
1959 浏览

python - TypeError: 'type' 对象不能用 pypyodbc (Python) 下标

我下面的 python 代码有什么问题?

我想连接到我的数据库,选择一些信息。这些在列表列表中,我抓取列表并执行“select..from..where..IN”:

这是错误:

新代码(编辑):

编辑 :

结果如下:

0 投票
1 回答
8345 浏览

python-3.x - 用 Python 连接 OracleDB

我需要连接 Oracle DB 并在 Python 中运行脚本,但不知道该怎么做。我目前使用 Oracle SQL Developer 来运行我的查询。请帮助,附加的屏幕截图包含来自 Oracle SQL Developer 的连接详细信息。 在此处输入图像描述

0 投票
1 回答
2013 浏览

python - 使用 pypyodbc 和 pandas 加载 1GB .accdb 时出现内存错误

我正在尝试做一些可能不可能或应该以不同方式完成的事情......

我必须读取一个 1 GB 的 Access 文件并在 pandas 中操作它;由于cursor.fetchall()直接失败Memory Error,我尝试了下面的函数以查看内存错误何时发生:它出现在 400.000 行获取后(总数为 1.12 Mrows)。

这很奇怪,因为我的机器中有 8 GB 内存,而且它似乎是 50% 的免费内存。我还将我的虚拟内存设置为 16 GB,但结果没有改变。

我不需要微积分速度,所以欢迎任何肮脏的解决方案:) 包括使用硬盘作为 ram(我有一个 ssd)。

也许有一种方法可以让所有内存都可用于 python?

已经失败的方法:

  • 单行获取:cursor.fetchone()
  • 许多行获取:cursor.fetchmany()
  • 所有行获取:cursor.fetchall()
  • 熊猫read_sql传递chunksize:(pandas.read_sql(query, conn, chunksize=chunksize)感谢用户 MaxU)

功能 :

错误 :

#################### 编辑 - 已解决####################

最后我解决了

有了这个,任何方法都有效。

0 投票
1 回答
295 浏览

python - Python 到 SQL Server 连接

我正在使用 Python 3.5.1 和 Anaconda 包 2.4.0 并尝试连接到本地 SQL Server (2008 R2)

所以做接下来的事情:

完成所有操作后,收到错误:

为什么会这样,我应该怎么做才能避免它并正确运行连接?

0 投票
0 回答
725 浏览

sql-server - pypyodbc 在 x64 上因“无效的字符串或缓冲区长度”而崩溃

我尝试将数据导入我的 MSSQL 数据库,但有时(!大约 10 次中的 9 次)代码在 Python x64 平台上崩溃。

[HY090] [Microsoft][ODBC Driver Manager] 无效的字符串或缓冲区长度

相同的代码在 32 位上运行良好。

代码在使用 SQL_TIMESTAMP(93) 运行 sqlGetTypeInfo 时出现问题:

我正在运行 pypyodbc 1.3.3、Python 2.7、MSSQL 2008 和 2012,我的 ODBC.dll 对于 64/32 位都是 6.1.7601.17514

如何让它在 Python x64 上运行?

0 投票
1 回答
313 浏览

python-2.7 - 以 UTF-8 从 MS Access 数据库中检索数据

我正在使用 Python 2.7 通过 pypyodbc 访问 MS Access 中的数据库。但是,我的列表是 Unicode 而不是 utf8

我的代码如下:

我的结果是

代替

我尝试使用 row.encode('UTF-8') 对其进行操作,但收到错误消息: AttributeError: 'Row' object has no attribute 'encode'

0 投票
1 回答
1383 浏览

database - 使用 Python 修改现有 MS Access 表中的值

我正在尝试使用 pypyodbc 使用 python 更改 MS Access 数据库中整个列的值。到目前为止,我只找到了一种创建新行但不修改现有值的方法。

这段代码来自我发现的另一个问题,它可以工作,但只能创建一个新行(表名是表 1,列是 Testie,这并不重要)

有任何想法吗?