1.概述
達(dá)夢數(shù)據(jù)庫版本:V8.1.2.192 企業(yè)版 單實(shí)例
DBLINK的創(chuàng)建模式:DPI方式
當(dāng)前現(xiàn)狀:DBLINK創(chuàng)建成功,但是select查詢的時候報錯:MAL系統(tǒng)沒有配置或者服務(wù)器不是企業(yè)版
2.報錯現(xiàn)象
DBLINK的創(chuàng)建語句:create link LINK_DPI_1 connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using '127.0.0.1:15237';
DBLINK查詢報錯如下:
3.問題分析
3.1 DBLINK的語法格式
語法格式
CopyCREATE [OR REPLACE] [PUBLIC] LINK [IF NOT EXISTS] <外部鏈接名> CONNECT ['<連接庫類型>'] WITH <登錄名> IDENTIFIED BY <登錄口令> USING '<外部連接串>' [<OPTION子句>];
<連接庫類型> ::=
DAMENG |
ORACLE |
ODBC |
DPI
<外部鏈接串>::=
<DAMENG外部鏈接串>|
<ORACLE外部鏈接串> |
<ODBC外部鏈接串> |
<DPI外部鏈接串>
<DAMENG外部鏈接串>::=[<連接類型>;]<服務(wù)器列表>
<連接類型>::=
PRIMARY FIRST |
STANDBY FIRST |
PRIMARY ONLY |
STANDBY ONLY
<服務(wù)器列表>::=
<服務(wù)器地址> |
<服務(wù)器地址>{,<服務(wù)器地址>}
<服務(wù)器地址>::=
<實(shí)例IP地址>/<實(shí)例端口號> |
<MAL IP地址>/<MAL端口號> |
<實(shí)例名>
<ORACLE外部鏈接串>::=
<tsn_name> |
<description>|
<IP地址>/<服務(wù)名>
<description>::=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<IP地址>)(PORT=<端口號>)))(CONNECT_DATA=(SERVICE_NAME=<服務(wù)名>)))
<ODBC外部鏈接串>::= <ODBC數(shù)據(jù)源DSN>
<DPI外部鏈接串>::= <IP地址>:<端口號> | <服務(wù)名>
<OPTION子句>:: =(<option項>{, <option項>})
<option項>:: =
LOCAL_CODE=<選項值> |
CONVERT_MODE=<選項值> |
BYTES_IN_CHAR=<選項值> |
DB_TYPE=<選項值> |
DATA_CHARSET=<選項值>
CASE_OPT=<選項值>
參數(shù)
-
PUBLIC 此鏈接對象是否能夠被創(chuàng)建者之外的用戶引用;
-
< 外部鏈接名 > 數(shù)據(jù)庫鏈接的名稱;
-
< 連接庫類型 > 目前只支持 DAMENG、ORACLE、ODBC 或 DPI,默認(rèn)為 DAMENG;
-
< 登錄名 > 登錄用戶名稱;
-
< 登錄口令 > 登錄用戶口令;
-
< 連接類型 > 當(dāng) DBLINK 連接到多機(jī)環(huán)境時,可以設(shè)定 < 連接類型 > 和指定多臺 < 服務(wù)器地址 >。< 連接類型 > 用來指定 DBLINK 將采用何種優(yōu)先級別連接到 < 服務(wù)器列表 > 中的機(jī)器,共四種連接類型:PRIMARY FIRST 為主機(jī)優(yōu)先連接;STANDBY FIRST 為備機(jī)優(yōu)先連接;PRIMARY ONLY 為只連主機(jī);STANDBY ONLY 為只連備機(jī)。缺省為 PRIMARY FIRST。< 連接類型 > 為可選項,一旦指定了 < 連接類型 >,則必須指定 < 服務(wù)器地址 > 數(shù)大于等于 2;
-
<DAMENG 外部鏈接串 > 支持三種格式,分別對應(yīng)目標(biāo)節(jié)點(diǎn)在 DMMAL.INI 中的配置項,具體如下:
●< 實(shí)例 IP 地址 >/< 實(shí)例端口號 > 對應(yīng) mal_inst_host/mal_inst_por。
●<MAL IP 地址 >/<MAL 端口號 > 對應(yīng) mal_host/mal_port。
● 實(shí)例名 對應(yīng) mal_inst_name。
-
<ORACLE 外部鏈接串 > 可以使用配置的網(wǎng)絡(luò)服務(wù)名 tsn_name(網(wǎng)絡(luò)服務(wù)名需要配置),或者連接描述符 description(連接描述符是網(wǎng)絡(luò)連接目標(biāo)特殊格式的描述,它包括網(wǎng)絡(luò)協(xié)議、主庫 IP 地址、端口號和服務(wù)名),或者 <IP 地址 >/< 服務(wù)名 >;
-
<ODBC 外部鏈接串 > DSN 需要用戶手動配置;
-
<DPI 外部鏈接串 > 僅支持通過 DPI 接口訪問遠(yuǎn)程達(dá)夢數(shù)據(jù)庫,不需要進(jìn)行額外配置;
-
<option 項 > 目前所支持的選項與取值如下:
● LOCAL_CODE:接口(DPI、OCI、JDBC 等接口)的字符集。若與服務(wù)器的字符集不一致,則需要進(jìn)行轉(zhuǎn)換。可取值為 UTF-8,GBK 或 GB18030。
● CONVERT_MODE:表示字符轉(zhuǎn)換過程中對不完整字符的處理規(guī)則:0 表示截斷不完整字符,不報錯;1 表示報錯處理。
● BYTES_IN_CHAR:整型數(shù)字,表示一個字符由多少個字節(jié)組成。
● DB_TYPE:設(shè)置目標(biāo)數(shù)據(jù)庫類型,目前支持 SQLSERVER、MYSQL、PI、ORACLE、DAMENG、OCEANBASE_ORACLE,僅對 ODBC 類型的 DBLINK 有效。
● DATA_CHARSET:設(shè)置接口返回給達(dá)夢服務(wù)器數(shù)據(jù)的實(shí)際字符集。取值為 UTF-8,GBK 或 GB18030。
● CASE_OPT:字符串類型,可取值'UPPER'或'LOWER';UPPER 選項表示對象名在發(fā)送到遠(yuǎn)端服務(wù)器前,將被自動轉(zhuǎn)換成大寫;LOWER 選項則表示將自動轉(zhuǎn)換成小寫。
3.2 本文使用DPI的方式
????????dpi類型的dblink,達(dá)夢數(shù)據(jù)庫軟件安裝完成后自帶DPI庫,無需進(jìn)行其他配置操作即可在數(shù)據(jù)庫中直接創(chuàng)建dblink。
創(chuàng)建語法:
---方式1 ?IP:端口
create link "鏈接名" connect 'DPI' with "用戶名" identified by "密碼" using 'IP:端口'; ?
---方式2 ?使用dm_svc.conf中服務(wù)名
create link "鏈接名" connect 'DPI' with "用戶名" identified by "密碼" using '服務(wù)名'; ?
1)當(dāng)使用?connect 'DPI' 方式時:DBLINK 查詢命令正常使用,無上述報錯:
2)當(dāng)使用?connect 'DAMENG' 方式時:DBLINK 查詢命令報錯:MAL系統(tǒng)沒有配置或者服務(wù)器不是企業(yè)版
從上面截圖可以看出:當(dāng)<連接庫類型>選擇是“DAMENG”時,需要配置dmmai.ini文件才行。文章來源:http://www.zghlxwxcb.cn/news/detail-826164.html
詳細(xì)的DBLINK信息可以查看:外部鏈接 | 達(dá)夢技術(shù)文檔外部鏈接對象(LINK)是 DM 中的一種特殊的數(shù)據(jù)庫實(shí)體對象,它記錄了遠(yuǎn)程數(shù)據(jù)庫的連接和路徑信息,用于建立與遠(yuǎn)程數(shù)據(jù)的聯(lián)系。通過多臺數(shù)據(jù)庫主庫間的相互通訊,用戶可以透明地操作遠(yuǎn)程數(shù)據(jù)庫的數(shù)據(jù),使應(yīng)用程序看起來只有一個大型數(shù)據(jù)庫。用戶遠(yuǎn)程數(shù)據(jù)庫中的數(shù)據(jù)請求,都被自動轉(zhuǎn)換為網(wǎng)絡(luò)請求,并在相應(yīng)結(jié)點(diǎn)上實(shí)現(xiàn)相應(yīng)的操作。用戶可以建立一個數(shù)據(jù)庫鏈接,以說明一個對象在遠(yuǎn)程數(shù)據(jù)庫中的訪問路徑。這個鏈接可以是公用https://eco.dameng.com/document/dm/zh-cn/pm/external-link文章來源地址http://www.zghlxwxcb.cn/news/detail-826164.html
到了這里,關(guān)于達(dá)夢DBLINK(DPI方式)查詢報錯:MAL系統(tǒng)沒有配置或者服務(wù)器不是企業(yè)版的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!