首页 文章

[IM002] [unixODBC] [驱动程序管理器]未找到数据源名称,并且在通过isql连接时没有默认驱动程序指定的消息

提问于
浏览
1

我正在尝试将Rattle连接到MySQL数据库 . Rattle和MySQL都在我的笔记本电脑上(ubuntu 14.04) . 由于Rattle仅通过ODBC连接到MySQL,因此我按照post here来安装ODBC . 我做了以下

  • 使用以下命令安装ODBC驱动程序

apt-get install libmyodbc unixodbc-bin

  • 我的ODBC驱动程序位置如下

root @sridhar-Aspire-5745:/ home / sridhar#find / -name'libodbc.so'/usr/lib/i386-linux-gnu/odbc/liboplodbcS.so / usr / lib / i386-linux-gnu / odbc /libodbcdrvcfg2S.so /usr/lib/i386-linux-gnu/odbc/libodbctxtS.so /usr/lib/i386-linux-gnu/odbc/libodbcdrvcfg1S.so / usr / lib / i386-linux-gnu / odbc / libodbcpsqlS .so /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so /usr/lib/i386-linux-gnu/odbc/libodbcminiS.so /usr/lib/i386-linux-gnu/odbc/libodbcnnS.so /usr/lib/i386-linux-gnu/odbc/libmyodbc.so /usr/lib/i386-linux-gnu/odbc/liboraodbcS.so

  • 使用以下内容创建了ODBC安装文件( /etc/odbcinst.ini

[myodbc_mysql]
描述= MySQL的ODBC
Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so
UsageCount = 6

  • 确定MySQL套接字路径

root @sridhar-Aspire-5745:/ home / sridhar#mysqladmin -u root -p version
输入密码:
mysqladmin Ver 8.42 Distrib 5.5.46,适用于i686上的debian-linux-gnu
版权所有(c)2000,2015,Oracle和/或其附属公司 . 版权所有 .

Oracle是Oracle Corporation和/或其附属公司的注册商标 . 其他名称可能是其各自所有者的商标 .

服务器版本5.5.46-0ubuntu0.14.04.2
协议版本10
通过UNIX套接字连接Localhost
UNIX套接字/var/run/mysqld/mysqld.sock
正常运行时间:4小时41分49秒

主题:1个问题:229慢查询:1打开:1156刷新表:1打开表:每秒400个查询平均值:0.013

  • 使用以下内容创建 /etc/odbc.ini

[myodbc_mysql_rattle]
描述=拨浪鼓
Driver = myodbc_mysql#自定义驱动程序名称
如果需要,Server = localhost#或外部IP
如果需要,端口= 3306#或自定义端口
Socket = /var/run/mysqld/mysqld.sock#socket,见上文
Database = #MySQL数据库名称或为空
选项= 3
ReadOnly =不

  • 安装了ODBC驱动程序

root @sridhar-Aspire-5745:/ home / sridhar#odbcinst -i -d -f /etc/odbcinst.ini
odbcinst:已安装驱动程序 . 使用次数增加到7次 .
目标目录是/ etc

  • 安装了系统DSN

root @sridhar-Aspire-5745:/ home / sridhar#odbcinst -i -s -l -f /etc/odbc.ini

  • 检查系统DSN是否已成功安装

root @sridhar-Aspire-5745:/ home / sridhar#odbcinst -s -q [myodbc_mysql_rattle]

  • 如果我可以连接到MySQL数据库进行测试(****表示密码!)

isql -v myodbc_mysql_rattle root ****

只是得到

[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified <br>
[ISQL]ERROR: Could not SQLConnect

我重复了7次!我仍然无法理解为什么isql找不到DSN .

1 回答

  • 1

    假设unixODBC的系统文件默认位置不是/ etc . 您可能想要定义和导出ODBCINI = / etc / odbc.ini和ODBCSYSINI = / etc

相关问题