通过otl来使用MySQL

来源:互联网 发布:1元洗车软件 编辑:程序博客网 时间:2024/04/30 08:43

1. isql -v DNS USER PWD,这里DNSodbc.ini开头的名称,USER为用户,PWD为密码.

  需要编写odbc.iniodbcinst.ini两个文件

  odbc.ini文件内容:  

    [mysql]    //这里是DNS文件的名称

Description = Data Source to mysql_from for read config for scp_platfom 

Driver = MYSQL   //MYSQL要在odbcinst.ini文件中申明

TraceFile = sql.log

TDS_Version = 8.0

Trace = Yes

Server = 192.168.1.98    //这里是数据库所在主机的ip地址,如果数据库在本地,可以为localhost

Port = 3306      //数据库的端口,一般默认为3306

Database = scp_pm     //数据库名称

 

  odbcinst.ini文件内容:

[MYSQL]

Dirver = /usr/local/lib64/libmyodbc5a.so   //这里是odbc库的存放位置,指明了odbc驱动

Description = ODBC for MYSQL

  

2. [unixODBC][Driver Manager]Can't open lib '/usr/lib64/odbc/libmyodbc.so' : file not found)

  这里是mysql-connector-odbc的版本不对,在http://dev.mysql.com/downloads/connector/odbc/5.1.html中下载

  mysql-connector-odbc-5.3.2-linux-glibc2.5-x86-64bit.tar64位),解压后加入将lib下  

 的libmyodbc5a.solibmyodbc5w.so拷贝到/usr/local/lib64即可

 

3. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  通过下面博客解决http://blog.csdn.net/junchaox/article/details/7287137

  主要是默认的mysql.sock实在/tmp下,而在安装时是在/var/lib/mysql/mysql.sock下,这里只要在odbc.ini中添加

  SOCKET=/var/lib/mysql/mysql.sock即可

  网上出现这个错误可能的原因还有MySQLport改变了,其一般默认为3306

 

4. gcc -o otl_hello otl_hello.cpp -l myodbc5

  出错:/usr/bin/ld: warning: libodbcinst.so.1, needed by /usr/local/lib64/libmyodbc5.so, not found (try using -rpath or -rpath-

link)

  出错的原因是我们使用的libmyodbc5a.so,其在/usr/local/lib中对应的是libodbcinst.so.2,没有libodbcinst.so.1

  解决方法:

  gcc -o otl_hello otl_hello.cpp -l myodbc5a,同时要将/usr/local/lib; /usr/local/lib64加入到LD_LIBRARY_PATH中,在程

序运行时可以支持

 

0 0
原创粉丝点击