加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – Pyodbc – “找不到数据源名称,没有指定默认驱动

发布时间:2020-12-13 16:43:35 所属栏目:百科 来源:网络整理
导读:我有麻烦pyodbc工作。我有unixodbc,unixodbc-dev,odbc-postgresql,pyodbc包安装在我的Linux Mint 14。 我失去了希望找到我自己的解决方案,任何帮助赞赏。详情如下: 运行: import pyodbc conn = pyodbc.connect("DRIVER={PostgreSQL};SERVER=localhost;
我有麻烦pyodbc工作。我有unixodbc,unixodbc-dev,odbc-postgresql,pyodbc包安装在我的Linux Mint 14。
我失去了希望找到我自己的解决方案,任何帮助赞赏。详情如下:

运行:

>>> import pyodbc
>>> conn = pyodbc.connect("DRIVER={PostgreSQL};SERVER=localhost;DATABASE=test;USER=openerp;OPTION=3;")

给我:

>>> pyodbc.Error: ('IM002','[IM002] [unixODBC][Driver Manager]Data source name not found,and no default driver specified (0) (SQLDriverConnect)')

#odbcinst -j give:

unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/atman/.odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2

这使我认为有一个unixodbc配置问题。
这里是我的unixodbc配置文件的内容:

文件/etc/odbcinst.ini:

[PostgreSQL ANSI]
Description     = PostgreSQL ODBC driver (ANSI version)
Driver      = psqlodbca.so
Setup       = libodbcpsqlS.so
Debug       = 0
CommLog     = 1
UsageCount      = 2

[PostgreSQL Unicode]
Description     = PostgreSQL ODBC driver (Unicode version)
Driver      = psqlodbcw.so
Setup       = libodbcpsqlS.so
Debug       = 0
CommLog     = 1
UsageCount      = 2

文件/etc/odbc.ini:

[PostgreSQL test]
Description         = PostgreSQL 
Driver              = PostgreSQL ANSI
Trace               = No
TraceFile           = /tmp/psqlodbc.log
Database            = template1
Servername          = localhost
UserName            =
Password            =
Port                =
ReadOnly            = Yes
RowVersioning       = No
ShowSystemTables    = No
ShowOidColumn       = No
FakeOidIndex        = No
ConnSettings        =

文件?/ .odbc.ini:

[DEFAULT]
Driver = PostgreSQL

[PostgreSQL]
Description         = Test to Postgres
Driver              = PostgreSQL
Trace               = Yes
TraceFile           = sql.log
Database            = nick
Servername          = localhost
UserName            =
Password            =
Port                = 5432
Protocol            = 6.4
ReadOnly            = No
RowVersioning       = No
ShowSystemTables    = No
ShowOidColumn       = No
FakeOidIndex        = No
ConnSettings        =
我相信你的问题的答案是,在你的?/ .odbc.ini文件,你说要使用驱动程序PostgreSQL – 但你没有在/etc/odbcinst.ini文件中定义该驱动程序。尝试将PostgreSQL更改为PostgreSQL ANSI或PostgreSQL Unicode(两者都在/etc/odbcinst.ini中定义)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读