繁体   English   中英

使用Python连接到PostgreSQL

[英]Connect to PostgreSQL using Python

我正在尝试使用Python连接到PostgreSQL并遇到很多问题。 我的操作系统是Windows 7,我使用的是postgresql 9.3,以及python 3.3和3.4。

我首先尝试使用psycopg2,使用以下代码

try:
    conn = psycopg2.connect("dbname='ravi' user='potsgres' host='localhost' password='***'")
except:
    print ("I am unable to connect to the database")

接下来,我尝试使用此代码使用pyodbc进行连接

try:
    connection = pyodbc.connect("DRIVER={psqlOBDC};SERVER=localhost:5432;DATABASE=ravi;UID=postgres;PWD=***")
except:
    print("not working")

没有联系。

我已经尝试了几件事。 我已经进入环境变量,以确保有postgresql和python的路径。我尝试连接到我已经使用pyodbc创建的SQL服务器数据库,并且能够连接没有任何问题。 我已经进入ODBC数据源管理器来测试我已经安装的PostgreSQL ODBC驱动程序,测试表明连接是成功的。 我不确定这是否相关,但我可以使用geoserver连接到postgresql数据库而不会出现问题。 我不确定它是ODBC,JDBC还是其他类型的连接。 另外,我最初尝试使用PHP建立连接,但我对PHP知之甚少,所以我认为我的代码中有问题。

关于问题可能是什么的任何想法? 我想到了几个途径,但无法弄清楚是否有办法详细查看阻止连接的错误是什么。 此外,我尝试使用命令行连接到数据库,但命令行不允许我输入密码。

我找到了几个可能的解决方案,但我要么完全不明白它们的含义,要么应用于linux环境,我不知道这在Windows术语中是什么意思

在psycopg2中打开postgres连接会导致python崩溃

使用pyodbc连接到PostgreSQL

我刚刚开始学习如何编码,所以如果任何可能的解决方案尽可能简单,我会非常感激,并且我认为我对计算机几乎一无所知。 非常感谢您的帮助!

编辑:使用univerio的例子这里是我尝试使用psycopg2时的错误消息我得到以下错误SyntaxError: invalid syntax错误SyntaxError: invalid syntax但我看不出我弄乱了语法。

如果我尝试使用pyODBC这里是我得到的错误('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

我进入ODBC数据源管理员并将SSL更改为require和allow。 没有帮助。 此外,驱动程序的名称实际上是PostgreSQL35W。 添加35W并未更改错误消息。

psycopg2根据您链接的其他问题获取关键字参数,而不是单个字符串。 只需拿出双引号即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM