当前位置: 首页 > 面试题库 >

Pyodbc-“找不到数据源名称,并且未指定默认驱动程序”

訾高明
2023-03-14
问题内容

pyodbc上班很麻烦 我有unixodbcunixodbc-devodbc- postgresqlpyodbc安装在我的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给出

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文件中定义该驱动程序。尝试更改PostgreSQLPostgreSQL ANSIPostgreSQL Unicode(两者均在/etc/odbcinst.ini中定义)。



 类似资料:
  • 我在连接PHP和在远程计算机上运行的SQL SERVER 2008时遇到了困难。我有php版本5.4。3和Apache2.2。22.我的计算机上已经运行了SQL SERVER 2008。我的wamp\bin\php\php5中包含以下文件。4.3\ext文件夹: php_sqlsrv_54_ts.dll php_pdo_sqlsrv_54_ts.dll 运行简单的代码,比如 我遇到以下错误: 但是

  • 问题内容: 我的软件: Python 3.4 -64位 PyODBC 64位 已安装MS Office程序包(32位) 问题: 现在,我尝试使用PYODBC访问安装在计算机中的MS Access 2010。无论我尝试什么,它都不起作用。我的错误总是这样: 建议我确定是32-64位问题。是否可以进行一些修改才能使其工作而无需安装32位python和32位pyodbc?我检查了这个网站。在64位Win

  • 问题内容: 我正在尝试在学校学习基本的SQL测试,但不幸的是,我将本应使用的类复制到了我的PC上的项目中,但出现以下错误: java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]找不到数据源名称,也未指定默认驱动程序 我的WoodDB数据库位于项目根目录中。 我已经进行了一些故障排除,我相信问题出在驱动程序位置的URL。 驱动因素是: 经过大约一个小时的研究

  • xml有一个简单的变更集,它创建了一个表,只是为了在一开始测试liquibase。 但我不会走这么远,因为当我运行项目时 我收到以下错误:

  • 我正在尝试连接一个db并在NetBeans中显示combobox,我将此作为输出: SEVERE: null java.sql.SQLException:没有为jdbc: sqlserver: DESKTOP-4N1HNP8找到合适的驱动程序;在java.sql.DriverManager.get连接(DriverManager.java:689) 在java.sql.DriverManager.

  • 2:在odbcDriverConnect(con,...)中:ODBC连接失败 如果在64位R(R console或Rstudio)中运行,将返回以下错误: 警告消息:1:在odbcDriverConnect(con,...)中:[RODBC]错误:状态IM003,代码160,由于系统错误126:找不到指定的模块,无法加载消息指定的驱动程序。(Microsoft Access驱动程序(*.mdb,