MariaDB ODBC 抛出无效指针错误



我在Fedora 21上安装了MariaDB(作为Fedora安装的一部分)。 还安装了 ODBC。 但是,当我去测试 ODBC 配置时(或者当 Asterisk 尝试使用 ODBC 时),我在 free():无效指针中出现错误。

奥德布辛斯特.ini

 [MySQL]
 Description=ODBC for MySQL
 Driver=/usr/lib64/libmyodbc5.so
 Setup=/usr/lib64/libodbcmyS.so
 FileUsage=1
 UsageCount=2

ODBC.ini

 [asterisk]
 Description=MySQL connection to 'asterisk' database
 Driver=MySQL
 Database=asteriskdb
 Server=localhost
 UserName=<theusername>
 Password=<thepassword>
 Port=3306
 Socket=/var/lib/mysql/mysql.sock

使用这些凭据使用 mysql 连接到数据库可以很好地工作。 但是做:

 echo "select 1"|isql -v asterisk theusername thepassword

结果是:

*** Error in `isql': free(): invalid pointer: 0x00000000011c4e58 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7850e)[0x7fdd0ef7850e]
/lib64/libc.so.6(cfree+0x5b5)[0x7fdd0ef84165]
/usr/lib64/libmyodbc5.so(MySQLGetPrivateProfileStringW+0x132)[0x7fdd083381c2]
/usr/lib64/libmyodbc5.so(ds_lookup+0x5d)[0x7fdd08336c3d]
/usr/lib64/libmyodbc5.so(MySQLConnect+0xbe)[0x7fdd08316a1e]
/lib64/libodbc.so.2(SQLConnect+0x9e5)[0x7fdd0fb41745]
isql[0x402908]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7fdd0ef1ffe0]
isql[0x402c31]
======= Memory map: ========

如果对任何人有帮助,我可以提供核心转储的其余部分。

关于导致这种情况的原因以及如何预防它的任何建议? 我需要 ODBC 工作。

我在 F21 86_64 上遇到了同样的问题。

我的解决方法是安装一个较新的版本(以root身份登录):

1 删除实际的 odbc 版本(如果我记得不错,则为 5.2.2)

yum remove mysql-connector-odbc

2 搜索最新版本的 mysql-connector-odbc-5.3.4-1.x86_64.rpm):http://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.4-1.x86_64.rpm(您需要订阅)

yum localinstall --nogpgcheck mysql-connector-odbc-5.3.4-1.x86_64.rpm

3 符号链接创建,因为 unixODBC 仍然指向/usr/lib64/libmyodbc5.so 而不是/usr/lib64/libmyodbc5w.so

ln -s /usr/lib64/libmyodbc5w.so  /usr/lib64/libmyodbc5.so 

4 如果需要,不要忘记修改(在 ~/.odbc.ini 中)

.....
Driver64=/usr/lib64/libmyodbc5w.so 
....

希望这有帮助罗马

相关内容

  • 没有找到相关文章

最新更新