有关unixODBC:Data source name not found, and no default driver specified的问题
还是昨天测试postgresql的有关Mirroring Controller的功能时出的问题(真TM是个坑)。
首先说下环境:
操作系统平台:RHEL6 x86_64
unixODBC版本:2.3.1
在使用unixODBC连接postgresql数据库的时候报错:
The driver reported the following diagnostics whilst running [SQLDriverConnect]
IM002:1:140733193388032:[unixODBC][Driver Manager]Data source name not found, and no default driver specified
Failed to connect
非常费解,查看网上的资料,弄了好一会才搞清楚。
首先根据错误消息搜索:
http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html
查明错误原因是ODBC数据库连接字符串没找到或者ODBC默认的驱动没有装。
发生错误时我的odbc.ini配置如下
[DB3]
Description = SymfowareServer
Driver = SymfoV12
Database = postgres
Servername = {primary,standby}
UserName = postgres
Password = postgres
Port = {26500,26501}
TargetServer = primary
SSLMode = verify-full
SSLServerCertCN=Common
ReadOnly = 0
[DB4]
Description = SymfowareServer
Driver = SymfoV12
Database = postgres
Servername = {standby,primary}
UserName = postgres
Password = postgres
Port = {26501,26500}
TargetServer = prefer_standby
SSLMode = verify-full
SSLServerCertCN=Common
ReadOnly = 0
odbcinst.ini配置如下:
[SymfoV12]
Description = ODBC for Symfoware Open V12.1.1
#Driver = /opt/symfoclient64/odbc/lib/psqlodbcw.so
# Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /opt/symfoclient64/odbc/lib/psqlodbcw.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
Threading = 2
unixODBC自带测试链接的命令
isql -v DB3
运行后,提示:
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
我先检查了下postgresql的驱动psqlodbc有没有安装...
居然没有安装!!!
于是安装上psqlodbc,此时最新的版本是psqlodbc-09.05.0400
#tar zxvf psqlodbc-09.05.0400.tar.gz
#cd psqlodbc-09.05.0400
#./configure --with-unixodbc --with-libpq=/usr/local/pgsql
#make
#make install
安装成功,默认驱动放在/usr/local/lib/psqlodbcw.so下。
安装完以后,继续测试,居然还报错!!!!
继续百度,参考下文:
http://china.ygw.blog.163.com/blog/static/687197462013418101335419/
找了半天,终于发现问题,原来是环境变量未正确配置,系统找不到配置文件。本来之前是正确的,后来我修改了unixODBC的目录名称,导致找不到了,通过执行odbcinst -j命令可以查看当前配置信息情况,以确认相关配置信息的路径是否正确。
我的配置如下:
unixODBC 2.3.1
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
重新配置ODBCINI及ODBCSYSINI两个环境变量即可。
其中,ODBCINI设置为odbc.ini的文件路径全名,ODBCSYSINI配置为配置文件路径,参照我的配置内容如下:
export ODBCINI=/usr/local/etc/odbc.ini
export ODBCSYSINI=/usr/local/etc
再次使用isql测试:
isql -v DB3
一切OK。
有关unixODBC:Data source name not found, and no default driver specified的问题的更多相关文章
- 以Excel 作为Data Source,将data导入db
将Excel作为数据源,将数据导入db,是SSIS的一个简单的应用,下图是示例Excel,数据列是code和name 第一部分,Excel中的数据类型是数值类型 1,使用SSDT创建一个package ...
- Data source rejected establishment of connection, message from server: "Too many connections"解决办法
异常名称 //数据源拒绝从服务器建立连接.消息:"连接太多" com.MySQL.jdbc.exceptions.jdbc4.MySQLNonTransientConnection ...
- 不支持关键字“data source”
网上大部分都是说data source之间需要插入一个空格或者都是一些低级的拼写错误造成的,但是我没有出现这些情况,是通过把data source改成server解决的,具体config里面的代码如下 ...
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...
- [转] --- Error: “A field or property with the name was not found on the selected data source” get only on server
Error: “A field or property with the name was not found on the selected data source” get only on ser ...
- 错误解决:SharePoint Designer 2010编辑后,出现数据源控件未能执行插入命令,data source control failed to execute the insert command
打了SharePoint 2010 最新的SP 2的补丁,但是使用SharePoint Designer 2010 定义任何一个列表的“插入视图”时,总是出现标题那样的错误: 数据源控件未能执行插入命 ...
- 使用View为Data Source的Form开发要点
(Data Source为View) 要点一:创建View的SQL语法 View的SQL里必须指定Form里唯一一个对其新增.修改.删除的基本表及其主键,其它表为辅助信息表,其字段仅用来在Form里显 ...
- DataTables warning : Requested unknown parameter '5' from the data source for row 0
在该项目中我使用了jquery.dataTables.js来作为我的前端数据表格. 表格的官网地址:https://www.datatables.net/ 一.jsp部分代码片段如下: <tab ...
- Jquery DataTables warning : Requested unknown from the data source for row 0
昨天在做 Jquery DataTables 的时候,遇到的一个问题,我使用MVC,在tables上加入了一个actionlink的href.但是在运行起来的时候,报错: DataTables war ...
随机推荐
- windows 进程监控 Procmon.exe
windows 进程监控 Procmon.exe window下一个程序打开太慢,可以用此程序监控.在哪一步慢了,读取文件还是注册表. ProcessMonitor3.2 Process Monito ...
- linux中stdout,stdin,stderr意义
stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误. 在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个.那么 ...
- python3.3 MD5
代码如下: # /usr/bin/python # -*- coding:utf-8 -*- import hashlib h=hashlib.md5() data = ' h.update(data ...
- UML类图介绍及简单用法
原文链接 一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和em ...
- jquery on事件在IE8下失效的一种情况,及解决方法/bootstrap空间绑定控件事件不好用
同事在复制bootstrap中的select控件之后,发现用$('.selectpicker').selectpicker();刷新下拉框控件不好使,后来发现是用原生js克隆的方法obj.cloneN ...
- linux常用命令大全(转)好东西要分享
1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...
- ArcGIS Engine中如何获取Map中已经选择的要素呢(转)
ArcGIS Engine中如何获取Map中已经选择的要素呢 1.使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素.IMap中的Fe ...
- IDEA03 连接数据库、自动生成实体类
1 版本说明 JDK:1.8 MAVEN:3.5 SpringBoot:2.0.4 IDEA:旗舰版207.2 MySQL:5.5 2 利用IDEA连接数据库 说明:本案例以MySQL为例 2.1 打 ...
- 在CentOS6.x下安装Compiz——桌面立方体,特效种种
很多人貌似认为compiz必须要emerland,但事实上,没这个必要. compiz+gnome,实用,而又华丽,是个不错的选择. compiz需要显卡驱动,一般情况下不成问题(别忘了这是很新的ce ...
- Django框架 之 Cookie、Session整理补充
Django框架 之 Cookie.Session整理补充 浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 ...