Kylin操作系統(tǒng)中配置openGauss的ODBC數(shù)據(jù)源

引言

openGauss是一款開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)舷暮,它提供了強大的功能和性能,可以滿足各種企業(yè)級應(yīng)用的需求。與此同時薛夜,ODBC(Open Database Connectivity)是一個標(biāo)準(zhǔn)的數(shù)據(jù)庫訪問接口速梗,它允許應(yīng)用程序通過統(tǒng)一的方式與不同的數(shù)據(jù)庫進(jìn)行通信肮塞。本文將介紹如何在銀河麒麟桌面操作系統(tǒng)進(jìn)行openGauss的ODBC數(shù)據(jù)源配置襟齿。

環(huán)境準(zhǔn)備

  1. VMware 17.0.2

  2. openGauss_5.0.0

  3. MobaXterm 22.1

  4. 服務(wù)器名稱:node0,IP地址:192.168.192.139

  5. unixODBC-2.3.0

  6. 銀河麒麟桌面操作系統(tǒng)V10 (SP1)
nwh@nwh-pc:~/桌面$ cat /etc/os-release
NAME="Kylin"
VERSION="銀河麒麟桌面操作系統(tǒng)V10 (SP1)"
VERSION_US="Kylin Linux Desktop V10 (SP1)"
ID=kylin
ID_LIKE=debian
PRETTY_NAME="Kylin V10 SP1"
VERSION_ID="v10"
HOME_URL="http://www.kylinos.cn/"
SUPPORT_URL="http://www.kylinos.cn/support/technology.html"
BUG_REPORT_URL="http://www.kylinos.cn/"
PRIVACY_POLICY_URL="http://www.kylinos.cn"
VERSION_CODENAME=kylin
UBUNTU_CODENAME=kylin
PROJECT_CODENAME=V10SP1
KYLIN_RELEASE_ID="2303"

設(shè)置應(yīng)用保護(hù)

  1. 安全中心枕赵,設(shè)置應(yīng)用保護(hù)

build-essential 包

  1. 安裝 build-essential 包
nwh@nwh-pc:~/桌面$ sudo apt-get install -y build-essential
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關(guān)系樹
正在讀取狀態(tài)信息... 完成
下列軟件包是自動安裝的并且現(xiàn)在不需要了:
archdetect-deb dmeventd libaio1 libdebian-installer4 libdevmapper-event1.02.1 liblvm2cmd2.03 localechooser-data lvm2 user-setup
使用'sudo apt autoremove'來卸載它(它們)猜欺。
將會同時安裝下列軟件:
cpp-10 g++ g++-10 g++-9 gcc-10 libasan6 libc-dev-bin libc6-dev libcrypt-dev libgcc-10-dev libstdc++-10-dev libstdc++-9-dev linux-libc-dev
建議安裝:
gcc-10-locales g++-multilib g++-10-multilib gcc-10-doc g++-9-multilib gcc-9-doc gcc-10-multilib glibc-doc manpages-dev libstdc++-10-doc libstdc++-9-doc
推薦安裝:
manpages manpages-dev
下列【新】軟件包將被安裝:
build-essential cpp-10 g++ g++-10 g++-9 gcc-10 libasan6 libc-dev-bin libc6-dev libcrypt-dev libgcc-10-dev libstdc++-10-dev libstdc++-9-dev linux-libc-dev
升級了 0 個軟件包,新安裝了 14 個軟件包拷窜,要卸載 0 個軟件包开皿,有 3 個軟件包未被升級。
需要下載 56.7 MB 的歸檔篮昧。
解壓縮后會消耗 224 MB 的額外空間赋荆。
獲取:1 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-2303-hwe-updates/main amd64 libc-dev-bin amd64 2.31-0kylin9.2 [301 kB]
......

創(chuàng)建目錄

nwh@nwh-pc:~$ mkdir -p odbc/etc
nwh@nwh-pc:~$ ls
公共的 視頻 文檔 音樂 bashrc.txt MPPODBC.txt openGauss-5.0.0-ODBC.tar.gz unixODBC-2.3.0.tar.gz unixODBC-2.3.7pre.tar.gz
模板 圖片 下載 桌面 GaussMPP.txt odbc unixODBC-2.3.0 unixODBC-2.3.5.tar.gz
nwh@nwh-pc:~$ cd odbc/
nwh@nwh-pc:~/odbc$ ls
etc

安裝unixODBC

解壓 unixODBC-2.3.0.tar.gz

nwh@nwh-pc:~$ tar -zxf unixODBC-2.3.0.tar.gz
nwh@nwh-pc:~$ ll
總用量 14676
drwx------ 21 nwh nwh 4096 8月 4 00:03 ./
drwxr-xr-x 3 root root 4096 8月 1 21:21 ../
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 公共的/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:27 模板/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 視頻/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 圖片/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 文檔/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 下載/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:24 音樂/
drwxr-xr-x 2 nwh nwh 4096 8月 1 21:27 桌面/
-rw------- 1 nwh nwh 64 8月 1 22:02 .bash_history
-rw-r--r-- 1 nwh nwh 220 4月 15 2020 .bash_logout
-rw-r--r-- 1 nwh nwh 3854 4月 27 15:27 .bashrc
-rw-rw-r-- 1 nwh nwh 184 8月 1 21:59 bashrc.txt
drwxrwxr-x 14 nwh nwh 4096 8月 3 23:42 .cache/
drwx------ 14 nwh nwh 4096 8月 3 23:43 .config/
drwx------ 3 nwh nwh 4096 8月 1 21:24 .dbus/
-rw-r--r-- 1 nwh nwh 23 8月 1 21:24 .dmrc
-rw-rw-r-- 1 nwh nwh 83 8月 1 21:59 GaussMPP.txt
drwx------ 3 nwh nwh 4096 8月 1 21:24 .gnupg/
-rw-rw-r-- 1 nwh nwh 413 8月 3 23:42 .imwheelrc
drwxrwxr-x 2 nwh nwh 4096 8月 1 21:24 .kylin-os-manager-config/
drwxrwxr-x 3 nwh nwh 4096 8月 1 21:24 .local/
drwxr-xr-x 5 nwh nwh 4096 8月 3 23:44 .log/
-rw-rw-r-- 1 nwh nwh 129 8月 1 21:59 MPPODBC.txt
-rw-rw-r-- 1 nwh nwh 9455102 8月 1 22:00 openGauss-5.0.0-ODBC.tar.gz
drwx------ 2 nwh nwh 4096 8月 1 21:24 .presage/
-rw-r--r-- 1 nwh nwh 807 4月 15 2020 .profile
drwxr-xr-x 2 nwh nwh 4096 8月 1 22:01 .qaxsafe/
drwxrwxr-x 2 nwh nwh 4096 8月 1 21:24 .sogouinput/
-rw-r--r-- 1 nwh nwh 0 8月 1 21:27 .sudo_as_admin_successful
-rw-rw-r-- 1 nwh nwh 25 8月 1 21:33 .ukui-screensaver-default.conf
drwxr-xr-x 19 nwh nwh 4096 4月 20 2010 unixODBC-2.3.0/
-rw-rw-r-- 1 nwh nwh 1804749 8月 1 22:01 unixODBC-2.3.0.tar.gz
-rw-rw-r-- 1 nwh nwh 1633390 8月 1 22:01 unixODBC-2.3.5.tar.gz
-rw-rw-r-- 1 nwh nwh 1669682 8月 1 22:01 unixODBC-2.3.7pre.tar.gz
-rw------- 1 nwh nwh 103 8月 3 23:41 .Xauthority
-rw-r--r-- 1 nwh nwh 13 4月 27 15:38 .xsession
-rw------- 1 nwh nwh 125000 8月 4 00:03 .xsession-errors
-rw------- 1 nwh nwh 184349 8月 1 22:02 .xsession-errors.old

修改configure文件

找到LIB_VERSION,將它的值修改為"1:0:0"懊昨,這樣將編譯出*.so.1的動態(tài)庫窄潭,與psqlodbcw.so的依賴關(guān)系相同。

編譯configure

nwh@nwh-pc:~/unixODBC-2.3.0$ ./configure --prefix=/home/nwh/odbc/
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gawk... (cached) mawk
checking for bison... no
checking for byacc... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no

......

安裝

nwh@nwh-pc:~/unixODBC-2.3.0$ make && make install

替換客戶端openGauss驅(qū)動程序

下載ODBC驅(qū)動包

下載openEuler 20.03 LTS環(huán)境下的ODBC驅(qū)動包

下載ODBC驅(qū)動包:https://opengauss.org/zh/download/

解壓ODBC驅(qū)動包

nwh@nwh-pc:~$ mkdir -p install
nwh@nwh-pc:~$ tar -zxf openGauss-5.0.0-ODBC.tar.gz -C install/
nwh@nwh-pc:~$ ls
公共的 圖片 音樂 GaussMPP.txt odbc unixODBC-2.3.0.tar.gz
模板 文檔 桌面 install openGauss-5.0.0-ODBC.tar.gz unixODBC-2.3.5.tar.gz
視頻 下載 bashrc.txt MPPODBC.txt unixODBC-2.3.0 unixODBC-2.3.7pre.tar.gz
nwh@nwh-pc:~$ cd install/
nwh@nwh-pc:~/install$ ls
lib odbc

解壓后會得到兩個文件夾:lib與odbc疚颊;

在odbc文件夾中還會有一個lib文件夾狈孔。/odbc/lib中會有“psqlodbca.la”,“psqlodbca.so”材义,“psqlodbcw.la”和“psqlodbcw.so”四個文件均抽,將這四個文件拷貝到“/home/nwh/odbc/lib”目錄下;

將openGauss-5.0.0-ODBC.tar.gz解壓后lib目錄中的庫拷貝到“/home/nwh/odbc/lib”目錄下其掂。

nwh@nwh-pc:~/install$ pwd
/home/nwh/install
nwh@nwh-pc:~/install$ ls
lib odbc
nwh@nwh-pc:~/install$ cd odbc/
nwh@nwh-pc:~/install/odbc$ ls
lib
nwh@nwh-pc:~/install/odbc$ cd lib/
nwh@nwh-pc:~/install/odbc/lib$ cp * /home/nwh/odbc/lib/
nwh@nwh-pc:~/install/odbc/lib$ cd ..
nwh@nwh-pc:~/install/odbc$ cd ..
nwh@nwh-pc:~/install$ cd lib/
nwh@nwh-pc:~/install/lib$ cp * /home/nwh/odbc/lib/
nwh@nwh-pc:~/install/lib$
nwh@nwh-pc:~/odbc/lib$ pwd
/home/nwh/odbc/lib
nwh@nwh-pc:~/odbc/lib$ ls
libodbccr.la libodbccr.so.1 libodbcinst.la libodbcinst.so.1 libodbc.la libodbc.so.1 psqlodbca.la psqlodbcw.la
libodbccr.so libodbccr.so.1.0.0 libodbcinst.so libodbcinst.so.1.0.0 libodbc.so libodbc.so.1.0.0 psqlodbca.so psqlodbcw.so
nwh@nwh-pc:~/odbc/lib$ ls
libcom_err_gauss.so libgssrpc_gauss.so libkrb5support_gauss.so.0 libodbcinst.so.1 libpgport_tool.so libssl.so
libcom_err_gauss.so.3 libgssrpc_gauss.so.4 libkrb5support_gauss.so.0.1 libodbcinst.so.1.0.0 libpgport_tool.so.1 libssl.so.1.1
libcom_err_gauss.so.3.0 libgssrpc_gauss.so.4.2 libodbccr.la libodbcinst.so.2 libpq.a psqlodbca.la
libconfig.so libk5crypto_gauss.so libodbccr.so libodbcinst.so.2.0.0 libpq_ce.a psqlodbca.so
libconfig.so.4 libk5crypto_gauss.so.3 libodbccr.so.1 libodbc.la libpq_ce.so psqlodbcw.la
libcrypto.so libk5crypto_gauss.so.3.1 libodbccr.so.1.0.0 libodbc.so libpq_ce.so.5 psqlodbcw.so
libcrypto.so.1.1 libkrb5_gauss.so libodbccr.so.2 libodbc.so.1 libpq_ce.so.5.5
libgssapi_krb5_gauss.so libkrb5_gauss.so.3 libodbccr.so.2.0.0 libodbc.so.1.0.0 libpq.so
libgssapi_krb5_gauss.so.2 libkrb5_gauss.so.3.3 libodbcinst.la libodbc.so.2 libpq.so.5
libgssapi_krb5_gauss.so.2.2 libkrb5support_gauss.so libodbcinst.so libodbc.so.2.0.0 libpq.so.5.5
nwh@nwh-pc:~/odbc/lib$

配置數(shù)據(jù)源

配置ODBC驅(qū)動文件

在“/home/nwh/odbc/etc/odbcinst.ini”文件中追加以下內(nèi)容油挥。nwh@nwh-pc:~/odbc/etc$ vim odbcinst.ini
nwh@nwh-pc:~/odbc/etc$ vim odbcinst.ini
[GaussMPP]
Driver64=/home/nwh/odbc/lib/psqlodbcw.so
setup=/home/nwh/odbc/lib/psqlodbcw.so

配置數(shù)據(jù)源文件

在“/home/nwh/odbc/etc/odbc.ini”文件中追加以下內(nèi)容。

nwh@nwh-pc:~/odbc/etc$ vim odbc.ini
[og]
Driver=GaussMPP
Servername=192.168.192.139 (數(shù)據(jù)庫Server IP)
Database=gaussdb (數(shù)據(jù)庫名)
Username=testuser (數(shù)據(jù)庫用戶名)
Password=openGauss!666 (數(shù)據(jù)庫用戶密碼)
Port=15400 (數(shù)據(jù)庫偵聽端口)

配置環(huán)境變量

nwh@nwh-pc:~$ vim ~/.bashrc

在配置文件中追加以下內(nèi)容款熬。

export LD_LIBRARY_PATH=/home/nwh/odbc/lib:$LD_LIBRARY_PATH
export PATH=/home/nwh/odbc/bin:$PATH
export ODBCSYSINI=/home/nwh/odbc/etc
export ODBCINI=/home/nwh/odbc/etc/odbc.ini

執(zhí)行如下命令使設(shè)置生效深寥。

nwh@nwh-pc:~$ source ~/.bashrc

測試數(shù)據(jù)源配置

nwh@nwh-pc:~/odbc/bin$ isql -v og
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>

在彈出的對話框中點擊“允許”按鈕。

總結(jié)

ODBC連接成功贤牛,就可以使用ODBC提供的函數(shù)來執(zhí)行SQL查詢和操作惋鹅。ODBC提供了一組標(biāo)準(zhǔn)的接口函數(shù),可以執(zhí)行各種數(shù)據(jù)庫操作殉簸,如執(zhí)行SQL查詢闰集、插入、更新和刪除數(shù)據(jù)等般卑。通過這些函數(shù)武鲁,可以在openGauss數(shù)據(jù)庫中進(jìn)行各種數(shù)據(jù)操作,滿足應(yīng)用程序需求蝠检。

通過使用ODBC接口沐鼠,可以在openGauss中實現(xiàn)高效的數(shù)據(jù)訪問和跨平臺連接。ODBC為開發(fā)人員提供了標(biāo)準(zhǔn)化的接口,并提供了一套豐富的函數(shù)來執(zhí)行數(shù)據(jù)庫操作饲梭。這種靈活性和可擴展性使得openGauss與ODBC的結(jié)合成為了開發(fā)企業(yè)級應(yīng)用和在多平臺上連接數(shù)據(jù)庫的理想選擇乘盖。

開始使用openGauss和ODBC吧,開啟高效數(shù)據(jù)管理的新篇章排拷!

非常感謝在本文相關(guān)形成過程中 openGauss 數(shù)據(jù)庫官網(wǎng)來杯拿鐵(劉恒)老師給予的支持侧漓。

附錄

在VMware 17.0.2虛擬機中安裝openEuler-22.03-LTS-SP2:https://www.modb.pro/db/1682365146923606016

Navicat連接openGauss_5.0.0 企業(yè)版數(shù)據(jù)庫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市监氢,隨后出現(xiàn)的幾起案子布蔗,更是在濱河造成了極大的恐慌,老刑警劉巖浪腐,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纵揍,死亡現(xiàn)場離奇詭異,居然都是意外死亡议街,警方通過查閱死者的電腦和手機泽谨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來特漩,“玉大人吧雹,你說我怎么就攤上這事⊥可恚” “怎么了雄卷?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛤售。 經(jīng)常有香客問我丁鹉,道長,這世上最難降的妖魔是什么悴能? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任揣钦,我火速辦了婚禮,結(jié)果婚禮上漠酿,老公的妹妹穿的比我還像新娘冯凹。我一直安慰自己,他們只是感情好炒嘲,可當(dāng)我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布谈竿。 她就那樣靜靜地躺著,像睡著了一般摸吠。 火紅的嫁衣襯著肌膚如雪怀读。 梳的紋絲不亂的頭發(fā)上篮条,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天桑包,我揣著相機與錄音树叽,去河邊找鬼指蚜。 笑死,一個胖子當(dāng)著我的面吹牛卸勺,可吹牛的內(nèi)容都是我干的奸焙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼献烦,長吁一口氣:“原來是場噩夢啊……” “哼滓窍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起巩那,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吏夯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后即横,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體噪生,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年东囚,在試婚紗的時候發(fā)現(xiàn)自己被綠了跺嗽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡页藻,死狀恐怖桨嫁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情份帐,我是刑警寧澤璃吧,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站弥鹦,受9級特大地震影響肚逸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彬坏,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一朦促、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧栓始,春花似錦务冕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至落恼,卻和暖如春箩退,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背佳谦。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工戴涝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓啥刻,卻偏偏與公主長得像奸鸯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子可帽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容