文章主要講述對于中標麒麟Linux系統+QT5.9.8+神通資料庫的環境搭建以及使用中遇到的問題
首先需要準備的安裝包,能新版一定下載新版本,為了方便我把安裝包下載地址以及我使用的版本全部寫上:
qt-opensource-linux-x64-5.9.8.run
鏈接地址:http://download.qt.io/archive/qt/
freetype-2.10.0.tar
鏈接地址:https://www.freetype.org/
ShenTong7.0.8_Linux64jre1.5
神通資料庫官網下載linux版本即可
unixODBC-2.3.8pre.tar
鏈接地址:ftp://ftp.unixodbc.org/pub/unixODBC/
神通資料庫的安裝根據壓縮包自帶的神通資料庫-資料庫快速入門.pdf內的靜默安裝操作一步步來
基本神通資料庫的安裝程序不會出現問題。
神通完成后,繼續安裝qt-opensource-linux-x64-5.9.8.run
直接執行./qt-opensource-linux-x64-5.9.8.run進行解壓操作
后續終端命令執行./qtcreator時啟動QT發現會報錯,搜索發現需要下載解壓freetype-2.10.0.tar
然后下載并放到qt目錄下進行解壓操作
在此奉上其解壓順序:
tar -xf freetype-2.10.0.tar
./configure --prefix=/usr/local/qt5.9.8/Tools/QtCreator/lib/Qt/
make
cd ./objs/.libs
sudo cp libfreetype.so /usr/local/qt5.9.8/Tools/QtCreator/lib/Qt/lib
sudo cp libfreetype.so.6 /usr/local/qt5.9.8/Tools/QtCreator/lib/Qt/lib
sudo cp libfreetype.so.6.17.0 /usr/local/qt5.9.8/Tools/QtCreator/lib/Qt/lib
完成操作后執行命令完美解決;
完成后繼續新建目錄unixODBC將壓縮包放到目錄下并進行解壓操作
編譯,指定安裝到/usr/local/unixODBC目錄中
$ ./configure --prefix /usr/local/unixODBC
$ make
$ sudo make install
提示有ini檔案由于目錄不存在而無法創建,再執行一次
$ sudo make install
最后一步也是我遇到問題最多最腦仁疼的一步:
根據手冊提示需要到提示路徑下找到odbc目錄,然后發現qmake是直接編譯不了得,各種報錯,


在網上查找的將odbc.pro檔案通過qt打開后,將qsqldriverbase.pri進行修改
將源代碼隱藏掉:
include($$shadowed($$pwd)/qtsqldrivers-config.pri)
添加:include(./configure.pri)
執行qmake依然報錯,后來發現原因因為麒麟系統版本自帶的gcc編譯器版本過低導致(此步可忽略)

然后這個問題一直持續了3天才得到解決。。期間各種問大神查資料種種辦法,終于在大哥幫助下
找到一篇微博文章,這個文章說實話真的不好找-,-,可能大神都比較隱藏低調。
這一篇文章完美解決了上述最后一個難題
特此感謝原作者,并奉上其文章地址:
http://blog.sina.com.cn/s/blog_671c54fe0102xbwj.html
這個文章主要解決了生產odbc庫檔案--libqsqlodbc.so
根據檔案按步驟來,很完美解決問題。
最后的話就是根據資料庫開發手冊來配置神通資料庫,主要也就是拷貝檔案操作,測驗完成后基本也就完成。
附加個額外篇:
主要是對于終端命令/etc/init.d/oscardb_資料庫名d start來啟動資料庫時候,總提示連接失敗
(執行命令前,必須保證你的資料庫配置完成,并根據開發手冊--神通資料庫配置全部默認按步驟執行完成)
執行命令啟動資料庫報錯:
Starting oscar -o normal -d OSRDB:
/opt/ShenTong/bin/oscar -o normal -d OSRDB running at 7666:SYSMULTIUSER:170
Database OSRDB startup failed
這個可以完全忽略掉,就跟一個自身BUG一樣的存在。。。

首先cd /etc/init.d
執行ll命令查看oscardb_OSRDBd是否存在,如果確認存在再執行:
oscar -o normal -d osrdb (列印報錯資訊)
ps -ef|grep oscar
如果執行ll命令后發現oscar -o normal -d OSRDB存在則說明你的服務已經開啟。
如果默認配置的神通資料庫則執行:
isql就可以直接運行,操作查看資料庫命令都是sql陳述句,基本無差別,
如果不是默認配置則執行:
isql -h IP地址 -U 用戶名/密碼 -d 實體名稱 -p 埠
dba--打開管理工具
sqlanalyzer--打開sql互動工具
最后關于qt下鏈接資料庫
pro檔案添加
QT += sql
根據手冊代碼參考進行鏈接資料庫,執行sql陳述句即可,不過有的手冊版本qt太低,導致代碼不支持問題
需要對代碼做進一步的修改
主要就是QTextCodec類的字符集操作,qt5已經不支持了,所以可改寫為c++代碼
其余根據參考代碼即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/17618.html
標籤:工具平臺和程序庫
