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

python - pyodbc 与 pypyodbc 相比有什么设计优势吗?

我知道pyodbc是一个较旧的项目,可能更具功能性和健壮性,但是它的设计(基于已编译的 C 代码的组件)有什么东西可以使它比纯 Python 实现更可取,例如pypyodbc

我做了很多 ETL 工作,并且正在考虑从 Linux/Jython/JDBC 方法切换到 Windows/Cygwin/Python/ODBC 方法。

0 投票
2 回答
33120 浏览

sql-server - 使用 pypyodbc 连接到 SQL Server

我需要使用 Python 2.7 将 unicode 发送到 SQL Server。我用 pymssql 失败了。我现在正在尝试开始pypyodbc工作(而不是pyodbc),因为它提供了工作 unicode 示例。问题是示例中的连接字符串看起来不像我认识的任何东西。我看着这个,经过一些试验和错误,构造了这个字符串:

重新DatabaseError关注连接字符串:

我知道我的凭据是正确的,因为我已经使用它们通过 pymssql 成功连接。我错过了什么?

0 投票
10 回答
121402 浏览

python - 将pyodbc游标结果输出为python字典

如何将 pyodbc 游标输出(来自或.fetchone)序列化为Python 字典?.fetchmany.fetchall

我正在使用bottlepy并且需要返回dict,以便它可以将它作为JSON返回。

0 投票
1 回答
1487 浏览

python - 如何使用 latin-1 文件名通过 pyodbc 连接到访问(.mdb)数据库

我使用此代码连接到我的访问 (.mdb) 数据库:

我收到以下错误:

pyodbc.Error: ('HY000', '[HY000] [Microsoft][Pilote ODBC Microsoft Access] 文件名不正确。(-1044) (SQLDriverConnect); [HY000] [Microsoft][Pilote ODBC Microsoft Access] 文件名不正确。(-第1044章)

问题似乎来自带有 û 字符的数据库文件名。据我对字符串和 unicode 的理解,fileMDB 是以 latin-1 编码的字符串。因为,我的计算机使用 latin-1 编码运行,所以我不明白为什么文件名不正确。

我使用 Windows XP 和 python 2.7。

谢谢您的帮助!

0 投票
1 回答
1838 浏览

python-3.3 - 无法在 Python 3.3.2 中使用 pyodbc 执行选择

我正在为使用 python 3.3.2 和 pyodbc 的项目开发数据同步脚本。我需要的数据来自 sql server 2008 实例,但到目前为止,我还无法成功进行任何查询。

我可以使用 pyodbc 建立与数据库服务器的连接:

freetds 和 iodbc 日志显示成功连接到数据库服务器(包括日志)。但是,当我尝试执行查询时:

我收到此错误:

iodbc 和 FreeTDS 日志显示“??????????????????????????????” 正在作为查询传递。在我看来,这就像一个 unicode/编码问题。相同的pyodbc代码在使用相同版本的iODBC和FreeTDS的python 2.7中工作,所以我认为这个问题与python 3.3.2和pyodbc之间的交互有关。

我发现了这个错误报告,但还没有找到任何类型的修复或解决方法。任何帮助将不胜感激。在过去的两天里,我一直在尝试解决这个问题,但运气不佳。

如果有任何我没有包含的信息会有所帮助,请告诉我,我会尽我所能提供。我无权访问 SQL Server 日志。

环境:

Mac OSX 10.8.5
Python 3.3.2
pyodbc 3.0.7
iODBC 3.52.6(我不知道如何说服 pyodbc 在 Mac 上使用 unixodbc) FreeTDS
0.91

iODBC 日志:

FreeTDS 日志:

0 投票
1 回答
2101 浏览

python - Python pyodbc:连接字符串的编码(Windows)

我在连接到路径和文件名中都有重音字符的本地 Access 文件时遇到问题。我是 Python 新手,所以这是我迄今为止所管理的:

第一个打印返回“True”,另一个打印完整的文件名,但连接失败并出现以下错误:

异常 UnicodeEncodeError: UnicodeEncodeError('ascii', u'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Users\xxx\case\M\xf8re\M\xf8reCase_v2.accdb', 121, 122, '序数不在范围 (128)') 中被忽略

我试图将连接字符串解码回系统编码

但后来我收到以下错误:

回溯(最后一次调用):文件“mwe.py”,第 11 行,在 cnxn = pyodbc.connect(dbConStr.encode('mbcs')) UnicodeDecodeError:'ascii' 编解码器无法解码位置 121 中的字节 0xf8:序号不在范围内(128)

我也试过'cp1252'和'utf-8',但它给出了同样的错误(只有字符代码在utf-8中不同)。

更多信息:脚本文件保存为 utf-8。我在使用挪威语“语言环境”的 64 位英语 Windows 7 上。

提前致谢。

0 投票
4 回答
12541 浏览

python - pyodbc 出现“未实现可选功能 (106) (SQLBindParameter)”错误

我被逼疯了,试图弄清楚这一点。我第一次使用 Python,并尝试将从 twitter 收集的数据写入 Access 2010 数据库。

我正在使用的命令是:

返回的错误信息是:

我尝试了将数据传递到数据库的各种排列。如果我删除 int(rcount) 条目,它将发布第一个值 sname,没有任何问题。但是,一旦我尝试传递多个参数,这就是问题开始的时候。

我有一种感觉,我错过了一些非常基本的东西,但我找不到任何与我正在尝试做的事情看起来相似的例子,而且我正在尝试做的事情并不难......用户错误可能:)

任何帮助将非常感激。

干杯,凯夫

完整代码为:

我正在使用 MS Access 2010、pyodbc-3.0.7.win32-py3.3.exe、Python 3.3 和 PyCharm。

不要评判我的编码能力 :) Python 对我来说是新的。您将能够看到我已经尝试将 INSERT 语句设置为最初的字符串 (sql),并且我正在使用以下方法调用游标:

不幸的是,这对我也不起作用!如果我用 1 之类的数字替换第二个参数......它仍然不起作用。令人沮丧。

0 投票
3 回答
4302 浏览

python - Python pypyodbc 如何将变量插入到执行语句中?

我正在使用 Python 3.3、pypyodbc 1.2.1 和通过 Flexquarters QODBC 版本 14 访问的 Quickbooks Enterprise 12 公司文件。我是编程和 python 新手,所以仍在学习:) 我可以使用 pypyodbc 示例运行查询很好,并产生预期的结果。

注意执行中的硬编码电子邮件地址。这按预期工作:

如果我尝试使用从 pypyodbc 文档中读取的参数执行相同的操作,则会引发错误。我认为引号和参数标记有问题。

试图变得更加蟒蛇?我真的很想重用该功能来搜索不同的列。就像是:

我查看了其他一些线程,其中大多数似乎只是在处理参数,而不是要搜索的列。任何人都可以帮我学习这个吗?

PS忘记包括回溯:

0 投票
0 回答
929 浏览

ms-access - 将 ipy64 与 pypyodbc 一起使用时出现异常

我正在尝试在 Ironpython 上使用 pypyodbc 创建一个带有 MSAccess 的数据库。我的旧机器上运行得很好,但我必须迁移到新机器上。但是,在新机器上,尝试运行相同的脚本时出现异常。

使用 python 我可以创建一个没有错误的数据库。

ipy

导入pypyodbc

pypyodbc.win_create_mdb('C:\database.mdb')

pypyodbc.connect('Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\database.mdb;')

但是,如果我使用 ipy64 尝试相同的操作,我会得到一个异常

“未找到访问驱动程序”

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

文件“”,第 1 行,在

文件“C:\IronPython27\pypyodbc.py”,第 2564 行,在 win_create_mdb 中

例外:未找到访问驱动程序。

我安装了 AccessDatabaseEngine_x64,因为我安装了 64 位办公产品。

谢谢,

约翰。

0 投票
2 回答
4960 浏览

postgresql - pypyodbc 帮助查找入门教程

这个问题听起来可能很愚蠢,但有人可以为我提供带有 postgresql 的 pypyodbc ....吗?我一直在互联网上搜索它,并没有找到任何东西*字面上的任何东西。