MaxKB 使用 MCP 連接 Oracle (免安裝 cx_Oracle 和 Oracle Instant Client)

一、背景

安裝cx_Oracle包和Oracle Instant Client來操作數據庫,比較繁瑣同時容易沖突,不同的 Oracle 版本都需要安裝不同的插件。這篇文章將介紹使用 MCP 協議的連接方法。

二、操作步驟

1、使用 1Panel 安裝 DBhub

a) 數據庫類型選擇 Oracle 類型。

b)修改 compose 文件

注意:把默認的 dbhub 鏡像改成 dbhub-oracle-thick

為什么要改?因為不修改安裝會報錯,如下:

查看 dbhub 的文檔,找到對應的解決辦法就是修改鏡像。

c)安裝完成之后查看日志,發現即使安裝選擇的 transport 是 sse,安裝完之后仍然是 http 協議

嘗試去修改 Command 發現改成 sse 不生效,猜測 dbhub-oracle-thick 不支持 sse 方式,為在 MaxKB 中配置 Streamable HTTP 調用方式埋下了伏筆。

2、MaxKB 對接 Oracle MCP

a、MCP 配置 transport 使用 streamable_http 模式。

{

??"mcp-oracle": {

????"url":?"http://10.1.12.115:8082/message",

????"transport":?"streamable_http"

????}

}


b、提示詞參考

# 角色

你是一位專業的數據分析專家,精通oracle數據庫SQL語言,能夠熟練運用 mcp-oracle 工具執行execute_sql函數來進行SQL驗證和查詢,并且輸出查詢數據。

## 技能

### 技能1: 生成并驗證SQL

1. 基于用戶提出的問題,結合已知信息,生成SQL語句。

2. 使用 mcp-oracle 工具對每次生成的SQL進行驗證和查詢。若SQL出現錯誤,需嘗試三次不同的SQL表述。

3. 記錄每次SQL驗證和查詢的結果。

請生成標準的Oracle SQL語句(嚴格遵循以下規則):

1. **禁止使用任何分號`;`、中文或特殊符號**。

2. 表名/列名使用大寫(例如:`EMPLOYEES`)。

3. 字符串值用單引號(例如:`WHERE name='John'`)。

4. 保留字必須用雙引號包裹(例如:`SELECT?"LEVEL"?FROM ...`)。

5. 輸出內容必須是單行純文本(無換行符)。

#### 數據庫架構說明

所有表均屬于 **DCS** 模式,必須顯式聲明模式名前綴!

**禁止行為**:

???- 使用未列出的表或視圖

???- 修改表名大小寫(如`dcs.t_c_z_bu_daily_report`)

### 技能2: 根據SQL結果生成表格數據

1、請使用表格格式對sql查詢結果進行輸出。

2、結合表信息把英文字段替換成中文。

## 限制

- 僅圍繞與生成SQL、利用工具查詢驗證相關的內容進行回答,拒絕回答不涉及這些內容的話題。

- 生成的SQL需符合oracle語法規范。

- 分析和解釋部分應盡量簡潔明了,突出重點。

- 操作過程嚴格按照上述技能要求執行,不得隨意更改工具使用方式。?

三、效果展示

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92076.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92076.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92076.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于Python的超聲波OFDM數字通信鏈路設計與實現

基于Python的超聲波OFDM數字通信鏈路設計與實現 摘要 本文詳細介紹了使用Python實現的超聲波OFDM(正交頻分復用)數字通信鏈路系統。該系統能夠在標準音響設備上運行,利用高于15kHz的超聲波頻段進行數據傳輸,采用48kHz采樣率。文章涵蓋了從OFDM基本原理、…

滑動窗口相關題目

近些年來,我國防沙治沙取得顯著成果。某沙漠新種植N棵胡楊(編號1-N),排成一排。一個月后,有M棵胡楊未能成活。現可補種胡楊K棵,請問如何補種(只能補種,不能新種)&#xf…

Java 工具類的“活化石”:Apache Commons 核心用法、性能陷阱與現代替代方案

在上一篇文章中,我們回顧了 Apache Commons 的經典組件。但作為 Java 世界中資歷最老、影響最深遠的工具庫,它的價值遠不止于此。許多開發者可能只使用了它 10% 的功能,卻忽略了另外 80% 能極大提升代碼質量的“隱藏寶石”。本文將提供一個更…

數據結構——圖及其C++實現 多源最短路徑 FloydWarshall算法

目錄 一、前言 二、算法思想 三、代碼實現 四、測試 五、源碼 一、前言 前兩篇學習的Dijkstra算法和Bellman-Ford算法都是用來求解圖的單源最短路徑,即從圖中指定的一個源點出發到圖中其他任意頂點的最短路徑。Dijkstra算法不能求解帶有負權重的圖的最短路徑&…

解決微軟應用商店 (Microsoft store) 打不開,無網絡連接的問題!

很多小伙伴都會遇見微軟應用商店 (Microsoft store)打開后出現無網絡的問題,一般出現這種問題基本都是因為你的電腦安裝了某些銀行的網銀工具,因為網銀工具為了安全會關閉Internet 選項中的最新版本的TLS協議,而微軟商店又需要最新的TLS協議才…

Android—服務+通知=>前臺服務

文章目錄1、Android服務1.1、定義1.2、基本用法1.2.1、定義一個服務1.2.2、服務注冊1.2.3、啟動和停止服務1.2.4、活動和服務進行通信1.3、帶綁定的服務示例1.3.1、定義服務類1.3.2、客戶端(Activity)綁定與交互?1.3.3、AndroidManifest.xml 注冊?1.3.…

從基礎功能到自主決策, Agent 開發進階路怎么走

Agent 開發進階路線大綱基礎功能實現核心模塊構建環境感知:傳感器數據處理(視覺、語音、文本等輸入)基礎動作控制:API調用、硬件驅動、簡單反饋機制狀態管理:有限狀態機(FSM)或行為樹&#xff0…

《動手學深度學習》讀書筆記—9.6編碼器-解碼器架構

本文記錄了自己在閱讀《動手學深度學習》時的一些思考,僅用來作為作者本人的學習筆記,不存在商業用途。 正如我們在9.5機器翻譯中所討論的,機器翻譯是序列轉換模型的一個核心問題,其輸入和輸出都是長度可變的序列。為了處理這種類…

DocBench:面向大模型文檔閱讀系統的評估基準與數據集分析

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術! 一、數據集概述與核心目標 DocBench 是由研究團隊于2024年提出的首個…

Python高級排序技術:非原生可比對象的自定義排序策略詳解

引言:超越原生比較操作的排序挑戰在Python數據處理中,我們經常需要處理不原生支持比較操作的對象。根據2024年《Python開發者生態系統報告》,在大型項目中,開發者平均需處理28%的自定義對象排序需求,這些對象包括&…

低代碼系統的技術深度:超越“可視化操作”的架構與實現挑戰

在很多非開發者眼中,低代碼平臺似乎只是簡化流程、快速搭建頁面的工具。然而,在真實的企業級應用中,低代碼系統必須面對高并發請求、復雜業務規則、多角色權限、跨系統集成與持續演進等一系列工程挑戰。高效交付(Rapid Delivery&a…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 詞云圖-微博評論詞云圖實現

大家好,我是java1234_小鋒老師,最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程,持續更新中,計劃月底更新完,感謝支持。今天講解詞云圖-微博評論詞云圖實現 視頻在線地址&…

Webpack核心技能:Webpack安裝配置與模塊化

一、webpack 的安裝和使用1. webpack 簡介webpack 是基于模塊化的打包 (構建)工具,它把一切視為模塊(包括 JS、CSS、圖片等資源文件)。工作原理:以開發時態的入口模塊為起點遞歸分析所有依賴關系經過壓縮、合并等處理最終生成運行…

數據結構---二級指針(應用場景)、內核鏈表、棧(系統棧、實現方式)、隊列(實現方式、應用)

一、二級指針的應用場景1、在被調函數中,想要修改主調函數中的指針變量,需要傳遞該指針變量的地址,形參用二級指針接收。2、指針數組的數組名是一個二級指針,指針數組的數組名作為參數傳遞時,可用二級指針接收。指針數…

NodeJs學習日志(1):windows安裝使用node.js 安裝express,suquelize,sqlite,nodemon

windows安裝使用node.js 安裝express,suquelize,sqlite 系統是win10,默認已經安裝好nodejs與npm包名作用expressWeb應用框架suquelize數據庫ORMsqlite數據庫nodemon代碼熱重載安裝express 添加express生成器 npm add express-generator4安裝e…

Cervantes:面向滲透測試人員和紅隊的開源協作平臺

Cervantes 是一個專為滲透測試人員和紅隊打造的開源協作平臺。它提供了一個集中式工作區,用于集中管理項目、客戶端、漏洞和報告。通過簡化數據組織和團隊協調,它有助于減少規劃和執行滲透測試所需的時間和復雜性。 作為 OWASP 旗下的開源解決方案&…

[Python 基礎課程]猜數字游戲

使用 Python 實現一個猜數字游戲,先隨機生成一個 1 到 100 之間的一個隨機整數,讓用戶猜測這個數是什么,每次都提示用戶猜大了還是猜小了,如果用戶猜對了,提示用戶猜對了,用了多少次,并且之前每…

文件加密實現

一、不依賴外部庫實現 使用自定義的XOR加密算法結合簡單的密鑰擴展。 實現說明 這個方案不依賴任何外部庫,僅使用C標準庫實現: 加密原理:采用XOR加密算法,這是一種簡單但有效的對稱加密方式,相同的密鑰可以用于加密和解…

Unity輕量觀察相機

一、腳本功能簡介ObserveCamera 是一個可直接掛載到任意 GameObject 上的通用攝像機控制腳本,支持以下功能:鼠標右鍵控制攝像機繞自身旋轉(俯仰、水平)鼠標左鍵拖拽目標對象進行平移(局部 XY 平面移動)鼠標…

1深度學習Pytorch-pytorch、tensor的創建、屬性、設備和類型轉換、數據轉換、常見操作(獲取元素、元素運算、形狀改變、相乘、廣播)

文章目錄PyTorchTensor1 Tensor 的創建1.torch.tensor2.torch.Tensor3. 線性張量4. 隨機張量5. 特定數值的張量2 Tensor 常見屬性1 屬性2 設備切換3 類型轉換torch.Tensor.to(dtype)類型專用方法創建張量時直接指定類型與 NumPy 數組的類型互轉4 數據轉換(淺拷貝與深…