【发布时间】:2014-02-04 16:26:03
【问题描述】:
这个问题可能听起来很愚蠢,但有人可以为我提供带有 postgresql 的 pypyodbc .... 吗?我一直在互联网上搜索它,并没有找到任何东西*字面上的任何东西。
【问题讨论】:
标签: postgresql pypyodbc
这个问题可能听起来很愚蠢,但有人可以为我提供带有 postgresql 的 pypyodbc .... 吗?我一直在互联网上搜索它,并没有找到任何东西*字面上的任何东西。
【问题讨论】:
标签: postgresql pypyodbc
我无法想象你为什么要使用 pypyodbc;看看直接使用DB-APIdriver,such as psycopg2 或维护得不太好但对 PyPy 更友好的pyPgSQL,或较新的不太成熟的py-postgresql。请参阅database driver list 了解更多信息。
如果由于某种原因你需要做一些奇怪和晦涩的事情,比如使用 PyPy 中的 ODBC 连接到 PostgreSQL...
有时,作为程序员,我们必须做一些可怕的事情——走出教程,自己思考问题;-)
当面对这个可怕的挑战时,有一些工具可以大大简化这个过程:
在这种情况下,这表明您的关键资源是:
The pypyodbc code 和 packages,其中包含以下链接:
various pypyodbc documentation on the gcode wiki、introductory examples、a link suggesting it's actually mostly the same as pyodbc等
the psqlODBC page,带有有用的链接。
其中一些示例是您想要的,但连接到不同的数据库引擎。您必须将它们调整以适应 PostgreSQL 和 psqlODBC。每个组件如何工作的文档将帮助您做到这一点;例如:
了解到 pypyodbc 在功能上与 pyodbc 非常相似,这也让您可以扩大搜索范围以查找涵盖 pyodbc 的示例:
现在,您的任务是综合这些元素,从不同的文档中学习相关部分,这样您就可以将所学的各个内容组合在一起。
【讨论】:
如果您正在寻找一个非常基本的示例来帮助您入门,那么以下代码对我有用:
# -*- coding: utf-8 -*-
import pypyodbc
cnxn = pypyodbc.connect(
'Driver={PostgreSQL ODBC Driver(UNICODE)};' +
'Server=localhost;' +
'Port=5432;' +
'Database=myDBname;' +
'Uid=postgres;' +
'Pwd=whatever;')
crsr = cnxn.cursor()
crsr.execute("SELECT id, customer FROM public.table1")
while 1:
row = crsr.fetchone()
if not row:
break
print row
crsr.close()
cnxn.close()
【讨论】:
PostgreSQL ODBC Driver(UNICODE) 的吗?您可以发布您的/etc/odbcinst.ini 文件和/etc/odbc.ini 文件吗?我正在尝试使用 pypyodbc 连接到 postgresql 但失败了。谢谢。
python3-postgresql 的包,所以如果我使用的是 Python 3,我可能会先尝试一下,然后再搞乱多层 ODBC 设置。如果这对您不起作用(例如,如果您仍在使用 Python 2),请尝试 asking a new question。