通過otl來使用MySQL

2021-06-23 01:03:49 字數 1935 閱讀 9100

1. isql -v dns user pwd,這裡

dns為

odbc.ini

開頭的名稱,

user

為使用者,

pwd為密碼.

需要編寫odbc.ini

和odbcinst.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

的版本不對,在

mysql-connector-odbc-5.3.2-linux-glibc2.5-x86-64bit.tar(

64位),解壓後加入將

lib下  

的libmyodbc5a.so

和libmyodbc5w.so

拷貝到/usr/local/lib64即可

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

通過下面部落格解決

主要是預設的mysql.sock

實在/tmp

下,而在安裝時是在

/var/lib/mysql/mysql.sock

下,這裡只要在

odbc.ini

中新增socket=/var/lib/mysql/mysql.sock即可

網上出現這個錯誤可能的原因還有mysql

的port

改變了,其一般預設為

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

中,在程

序執行時可以支援

yii框架通過IP位址來使用gii

這裡使用的yii框架的版本是2.0.13 1 生成模型 model generator 2 生成crud 1 在生成curd 的時候,指定model controller searchmodel的名稱時,要注意加上命名空間。2 檢視可以路徑可以不用指定。3 如果生成 時 被禁止了 那麼可以使用chm...

OTL使用總結

在vc中訪問oracle,可以使用ado或odbc,如果你比較強大,也可以直接使用oci api,但我個人認為otl是最佳選擇,它是一套資料庫訪問c 模板庫,全部 都在otlv4.h標頭檔案中,通過otl不但可以訪問oracle資料庫 使用oci api 還可以訪問db2,或者使用odbc連線字串訪...

OTL使用總結

otl的原始碼只有乙個標頭檔案 otlv4.h。下面以乙個例子來說明如何使用otl。cpp view plain copy define otl ora10g include void caboutdlg onbnclickedok cstring strnum strnum.format 當前or...