问题标签 [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 回答
3273 浏览

sql - 加快 Python 执行速度

我将数据从一个数据库插入到另一个数据库,所以我有 2 个连接(Conn1 和 Conn2)。下面是代码(使用 pypyodbc)。

上面的部分运行得非常快。

这部分非常慢。我还尝试使用 cursor.execute 执行一个 for 循环来一次插入每一行,但这也很慢。我做错了什么,有什么办法可以加快速度吗?谢谢参观。

我想我还应该补充一点,Conn1 数据只有约 50k 行。我在开始时还有一些我没有包含的设置代码,因为它与问题无关。插入大约需要 15 分钟。作为比较,将输出写入 csv 文件大约需要 25 秒。

0 投票
1 回答
6911 浏览

python - 如何使用例如 pypyodbc 将 MS Access 表导出到 Python 中的 csv 文件

我一直在尝试使用 pypydobc 将MS Access 数据库中的表导出到csv文件中 - 使用fetchone函数需要永远例如 200,000 行打印大约需要 5 分钟。如果fetchone更快,我可以将结果打印到 csv 文件中,但这需要太长时间。这是我到目前为止所尝试的:

另外,到目前为止我还没有找到关于 pypyodbc 中所有函数的文档吗?

0 投票
2 回答
1048 浏览

python - 使用相同的外键值将数据插入表中

我正在使用 SQL Server、Python、pypyodbc。我有的表是:

user_id 是 User 的主键和 UserPhone 的外键。我正在尝试使用 pypyodbc 将 2 部不同的手机插入同一个 user_id。这是我尝试过但不起作用的事情之一:

0 投票
2 回答
4046 浏览

python - 使用 pyodbc 和 MSSQL 的 nvarchar 字段导致此 UnicodeDecodeError 的原因是什么?

我可以通过 pypyodbc 在 python 中发送查询来从 MSSQL 数据库中读取数据。

大多数 unicode 字符都得到了正确处理,但我遇到了某个导致错误的字符。

有问题的字段是类型nvarchar(50)并以这个字符“”开头,这对我来说有点像这样......

如果该数字是十六进制,0x100111那么它就是字符supplementary private use area-b u+100111。虽然有趣的是,如果它是二进制0b100111的,那么它就是一个撇号,会不会是上传数据时使用了错误的编码?该字段存储了中国邮政地址的一部分。

错误信息包括

UnicodeDecodeError:“utf16”编解码器无法解码位置 0-1 中的字节:数据意外结束

这里是全...

这是一些最小的复制代码...

这是我的一大块/etc/freetds/freetds.conf

我也尝试过client charset = UTF-16并一起省略那条线。

这是我的相关块/etc/odbc.ini

这是我的相关块/etc/odbcinst.ini

我可以通过在 try/except 块中获取结果来解决此问题,丢弃任何引发 a 的行UnicodeDecodeError,但是有解决方案吗?我可以只扔掉不可解码的字符,还是有办法在不引发错误的情况下获取这一行?

一些不良数据最终出现在数据库中并非不可想象。

我用谷歌搜索并检查了这个网站的相关问题,但没有运气。

0 投票
1 回答
76 浏览

python-3.x - 如何在 sqlite 查询中使用 mssql 查询中的值

我有两个表,一个在 ms sql 中,另一个在 sqlite3 我需要将 mssql 表中的一个字段更新为 sqlite3 表中的相关值。

这是我的代码:

objectId 是一个GuID,其他字段都是字符串

打印函数返回:

而观察者给出:

这个查询当然会返回这个错误:

而这个查询:

返回完美答案,有人可以指出我的问题吗?

0 投票
0 回答
1031 浏览

odbc - pypyodbc ODBC Driver Manager Invalid string or buffer length error

我在一个名为 Motionbuilder 的专业中使用 pypyodbc,最近我收到了这个奇怪的错误:

它不会每次都发生,只是有时会发生。有任何想法吗?

0 投票
0 回答
1271 浏览

python - 在 AWS Lambda Python 部署中包含 ODBC 库

我为 AWS Lambda 创建了一个部署包,用 Python 2.7 编写。在 Python 脚本中,我使用我在本地计算机上配置的用户 DNS 使用 pypyodbc 连接到外部数据源。当我尝试部署包时,出现以下错误:

project-dir我使用 pip 在虚拟环境中创建了包。包裹安排如下:

我试过添加

#Point Lambda to Required OBDC Directory os.environ['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH'] + ':' + '/var/task/'

MainPythonIWantToUse.py上面的 lambda_handler 函数,并在根目录中包含 odbc32.lib,但我得到了同样的错误。

知道我需要做什么吗?我在 Windows 中配置了本地 ODBC,但我不确定将哪些文件放在 Lambda 的 Unix 环境中可以找到它们的位置。

编辑:我也尝试在根目录中包含 UnixODBC 的元素,但这不会改变结果。

0 投票
1 回答
373 浏览

python - 替换 Pandas 数据框中的坏数据

在 Python 2.7 中,我使用以下命令连接到外部数据源:

我收到以下错误:

在我看来,在其中一个浮动列中,有一个“?” 出于某种原因的符号。我已联系数据源的所有者,但他们无法更改基础表。

有没有办法使用熊猫替换这样的不正确数据?我试过在read_sql_query声明后使用replace,但我得到了同样的错误。

0 投票
2 回答
861 浏览

python - Python SQL 更新查询:需要字符串或整数地址而不是实例实例

我使用 Python 2.7 和 pypyodbc 来运行 SQL 查询,但是每当我使用 python 运行更新查询时,

我得到错误:

如果我直接在 SQL Server 上运行相同的查询,它会起作用。

0 投票
1 回答
577 浏览

python - Pypyodbc 拉取 SQL 列作为值

我正在使用 pypyodbc 提取数据,但我将简化此示例的数据。我的问题是我有一个名为 475Election 的列,当我从该列中提取数据时,我得到 475 作为 python 中的值。例如:

但是当我使用 python 时,我得到了输出

我相信这可能是数据类型错误的结果,或者可能是 pypyodbc 或者只是一般的 SQL 问题。此外,当我在 SQL 中查询此信息时,它会返回正确的值。475Election 是位数据类型。

编辑* python 中的代码

输出:

最后一个打印值的实际值是 475election 列,应该是 0。我使用的是 Microsoft SQL Server Express(64 位),操作系统是 Microsoft Windows NT 6.1。版本是 12.0.4422.0