站長阿川

站長阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

站長精心設計,帶你實作 63 個小專案,得到作品集!

立即開始免費試讀!

克萊恩

Cline 是一款開源 AI 編碼代理,可將最先進的 AI 型號直接嵌入到 VS Code 編輯器中。與自動完成工具不同,Cline 是一款真正的編碼代理,能夠理解您的整個程式碼庫、規劃複雜的變更並執行多步驟任務。

上次我們詳細講解了 Oracle MCP 伺服器,並在 MacBook 上使用 Claude,所以這次我們將嘗試在 Windows 上使用 Cline 和 OpenAI API 以自然語言查詢 Oracle 資料庫。

■ 配置圖

構成.png

如配置圖所示,我們將首先在 Oracle 雲端基礎架構 (OCI) 上建置一個 Oracle 資料庫,並對其進行配置,使其能夠透過 SQL 與 Windows 通訊。我們還將在 Oracle 資料庫中安裝一個範例模式,以便 AI 可以查詢資料,同時也將配置Logging Analytics ,以便 AI 可以檢索、分析存取和審計日誌並發出警報。

  • 參考

- Oracle 資料庫建立: Oracle Exadata 雲端基礎架構 X11M 建立

- 範例資料輸入:安裝 Oracle 資料庫範例模式

- FastConnect 連線: NEC Inzai 資料中心的 Oracle FastConnect L2 連接

- 日誌分析:擷取並分析相關的 Oracle 資料庫日誌

- 日誌分析:分析資料庫稽核表和使用者表

注意

允許大型語言模型 (LLM) 存取您的資料庫會帶來重大的安全風險:因為 LLM 使用輸入資料來產生回應,因此意外的表或敏感資訊可能會被意外暴露。

為了減輕這些風險,請遵循以下安全措施:

  • 分配最低權限: LLM 使用的資料庫使用者帳戶應具有執行任務所需的最低權限。這種方法限制了 LLM 的存取範圍。

  • 避免生產資料庫存取: LLM 不應被授予直接存取生產資料庫的權限;相反,它應該使用經過清理的唯讀副本或專用資料子集。

  • 審計 LLM 活動:定期審計 LLM 執行的查詢,以偵測異常情況以及存取受限資料的嘗試。為了支援您的稽核工作,SQLcl MCP Server 提供了以下內建監控功能:

  • 會話追蹤:在 VSESSION.MODULE 中輸入正在使用的 MCP 用戶端,在 V$SESSION.ACTION 中輸入 LLM 的名稱。

  • 活動日誌:建立一個名為 DBTOOLS$MCP_LOG 的表,記錄所有互動和 SQL 執行。

  • 查詢辨識: LLM 透過 SQLcl MCP 伺服器工具產生的所有查詢都將包含以下註釋,以便在日誌中輕鬆辨識:/* LLM in use ... */。

有關監控的更多訊息,請參閱監控 SQLcl MCP 伺服器

■ 安裝所需軟體

若要使用 SQLcl MCP 伺服器,您必須在系統上安裝下列軟體:

Oracle SQLcl、バージョン 25.2.0 以上
Java ランタイム環境 (JRE) バージョン 17 以上

■ 下載並安裝 SQLcl

● 下載SQLcl:

前往下一個SQLcl 下載畫面並下載最新的 SQLcl。

01_SQLclDownload.png

●要安裝 SQLcl:

選擇下載的zip檔並點選解壓縮

01_SQLclDownload02.png

1)解壓縮

在 Windows 上,使用 tar 指令提取 zip 檔案。

PS C:\Users\opc> tar zxvf .\Downloads\sqlcl-25.2.2.199.0918.zip
x sqlcl/
x sqlcl/bin/
x sqlcl/lib/
・・・
x sqlcl/lib/quartz.jar
x sqlcl/lib/javassist.jar
PS C:\Users\opc>

2)檢查解凍

PS C:\Users\opc> ls *sqlcl

    Directory: C:\Users\opc

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          1/1/2023  12:00 AM                sqlcl

3)檢查sqlcl目錄

PS C:\Users\opc> ls -l  sqlcl

    Directory: C:\Users\opc\sqlcl

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          1/1/2023  12:00 AM                bin
d-----          1/1/2023  12:00 AM                lib
-a----          1/1/2023  12:00 AM             44 25.2.2.199.0918
-a----          1/1/2023  12:00 AM            216 LICENSE.txt
-a----          1/1/2023  12:00 AM            192 NOTICES.txt
-a----          1/1/2023  12:00 AM            348 THIRD-PARTY-LICENSES.txt

3)檢查sql.exe

sqlcl 指令位於 ./sqlcl/bin。

在 Windows 上,sql.exe 是執行 sqlcl 的指令。

PS C:\Users\opc> ls .\sqlcl\bin\

    Directory: C:\Users\opc\sqlcl\bin

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          1/1/2023  12:00 AM           3778 dependencies.txt
-a----          1/1/2023  12:00 AM          35464 sql
-a----          1/1/2023  12:00 AM         169472 sql.exe
-a----          1/1/2023  12:00 AM            152 version.txt

4)sql.exe執行(Java錯誤)

如果出現以下訊息,則可以確認缺少所需的Java版本。

PS C:\Users\opc> .\sqlcl\bin\sql.exe
Oracle SQLcl Console: This application requires a Java Runtime Environment 17.0.5

■ Java 安裝

● Java SE 開發工具包下載

Java下載 下載 Java 17.0.5 或更高版本。

這裡我們從最新的 Java SE 開發工具包 21.0.8 下載 x64 安裝程式。

● Java SE 開發工具包安裝

1)執行exe

點擊下載的jdk-21_windows-x64_bin.exe執行。

02_Java21下載02.png

03_Java21Install01.png

2)執行安裝

檢查內容並繼續安裝。

03_Java21Install02.png

3) Install 中〜

03_Java21Install04.png

4)安裝完成

03_Java21Install05.png

5)檢查Java版本

在 PowerShell 中檢查 java -version

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Users\opc> java -version
java version "21.0.8" 2025-07-15 LTS
Java(TM) SE Runtime Environment (build 21.0.8+12-LTS-250)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.8+12-LTS-250, mixed mode, sharing)

PS C:\Users\opc>

●sqlcl 執行確認

如果sql指令執行沒有錯誤,那就沒問題了。

1)執行sql指令

PS C:\Users\opc> .\sqlcl\bin\sql /nolog

SQLcl: Release 25.2 Production on Sun Aug 24 10:11:54 2025

Copyright (c) 1982, 2025, Oracle.  All rights reserved.

SQL>

2)資料庫連線確認

驗證您預先建立的 Oracle 資料庫連線。

PS C:\Users\opc> .\sqlcl\bin\sql system/Password@//10.10.1.2:1521/PDB.clientsubnet.vcnexatokyo.oraclevcn.com

SQLcl: Release 25.2 Production on Sun Aug 24 13:09:40 2025

Copyright (c) 1982, 2025, Oracle.  All rights reserved.

Last Successful login time: Sun Aug 24 2025 13:09:42 +00:00

Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.24.0.0.0

SQL> show con_name
CON_NAME
------------------------------
PDB

■ 在 VS Code 中設定 Cline

Cline 是一款適用於 Visual Studio Code (VS Code) 的開源 AI 程式設計助手,支援 MCP。請為您的 SQLcl MCP 伺服器設定 Cline。

1)SQLcl連接

PS C:\Users\opc> .\sqlcl\bin\sql system/password//10.10.1.2:1521/PDB.clientsubnet.vcnexatokyo.oraclevcn.com

SQLcl: Release 25.2 Production on Sun Aug 24 13:09:40 2025

Copyright (c) 1982, 2025, Oracle.  All rights reserved.

Last Successful login time: Sun Aug 24 2025 13:09:42 +00:00

Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.24.0.0.0

SQL>

2)建立相容 MCP 的已儲存連接

使用以下命令連接到 Oracle 資料庫:

SQL> conn -save cline_mcp -savepwd system/Password@//10.10.1.2:1521/PDB.clientsubnet.vcnexatokyo.oraclevcn.com
Name: cline_mcp
Connect String: //10.10.1.2:1521/PDB.clientsubnet.vcnexatokyo.oraclevcn.com
User: system
Password: ******
Connected.

SQL> exit

3)檢查DBTools目錄

在 Windows 上,SQLcl MCP 伺服器儲存在 %appdata%\Roaming\DBTools 目錄中的連接儲存中,並且您設定的連接資訊在 dbtools.properties 檔案中建立。

PS C:\Users\opc> ls .\AppData\Roaming\DBTools

    ディレクトリ: C:\Users\opc\AppData\Roaming\DBTools

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2025/08/24     13:14                connections

PS C:\Users\opc> cat .\AppData\Roaming\DBTools\connections\WPX8HMDrglY19tw9NwENjA\dbtools.properties
name=cline_mcp
type=ORACLE_DATABASE
connectionString=//10.10.1.2\:1521/PDB.clientsubnet.vcnexatokyo.oraclevcn.com
userName=system

4)檢查 MCP 伺服器是否正在執行

一旦 SQLcl MCP 伺服器成功啟動,將顯示帶有啟動時間戳記的確認訊息,表示它已準備好接受來自 MCP 用戶端的連線。

您可以透過檢查終端機中的下列訊息來驗證伺服器是否已準備就緒:

PS C:\Users\opc> .\sqlcl\bin\sql -mcp
---------- MCP SERVER STARTUP ----------
MCP Server started successfully on Sun Aug 24 13:28:12 UTC 2025
Press Ctrl+C to stop the server
----------------------------------------

● 下載並安裝 VS Code

1)下載 VS Code

下載 Visual Studio Code

04_VSCodeDownload01.png

2)執行exe

04_VSCodeDownload02.png

3) Iinstall 開始

05_VSCode安裝01.png

4) 安裝過程中

05_VSCode安裝06.png

5)安裝完成

05_VSCode安裝07.png

● 安裝 Cline 擴充

1) VS Code 起動

打開 VS Code 並點擊側邊欄中的「擴充」。

05_VSCodeInstall08-1.png

2)克萊恩篩選

在搜尋欄中輸入 cline 即可顯示 Cline

06_ClineInstall01-1.png

3)Cline安裝

按一下“安裝”,然後按一下“信任發布者並安裝”以繼續。

06_ClineInstall02.png

4) VS Cline 畫面

該擴充功能將被安裝並出現在您的側邊欄中。

06_ClineInstall03.png

4)AI註冊介面

設定您的 API 金鑰並選擇您想要的 AI 模型。

這次,我們將嘗試使用預先註冊的 OpenAI API Key。

07_OpenAI-Key04.png

● 使用 Cline 註冊 SQLcl MCP 伺服器

1) 點選“管理 MCP 伺服器”

在側邊欄中選擇Cline擴展,點選提示框下方的管理MCP服務。

08_Client-MCP設定01-1.png

2) MCP Server 畫面

在提示框下方出現的 MCP 伺服器對話方塊中,按一下設定齒輪圖標

08_Client-MCP設定02-1.png

3) MCP 伺服器已安裝選項卡螢幕

MCP 伺服器頁面打開,其中已安裝標籤處於選取狀態。

在出現的對話方塊中,按一下設定 MCP 伺服器。

08_Client-MCP設定03.png

4)cline_mcp_settings.json 檔案螢幕

cline_mcp_settings.json 檔案在右側的 VS Code 編輯器中開啟。

將以下格式的 JSON 設定程式碼片段新增至設定檔:SQLcl 將「PATH/bin/sql」替換為您安裝的 sql 指令的絕對路徑,儲存文件,然後按一下完成。

{
   "mcpServers": {
    "SQLcl": {
            "command": "C:\\Users\\opc\\sqlcl\\bin\\sql",
            "args": ["-mcp"],
            "disabled": false
        }
    }
}

在 Windows 中,\(反斜線)是轉義字符,因此寫為 \\。

08_Client-MCP設定04.png

SQLcl MCP 伺服器及其工具現在列在 MCP 伺服器頁面上。

5) Clien 畫面

SQLcl 被加入到 MCP Server 提示框中。

如果沒有,請重新啟動以使變更生效。

08_Client-MCP設定05-1.png

6)如有必要,重新啟動 VS Code。

如有必要,請重新啟動 VS Code 以使變更生效。

如果重新啟動後 MCP Server 提示框中仍然沒有新增 SQLcl,則可能是 cline_mcp_settings.json 中輸入的內容不正確。

● Cline 日語設置

將您希望 Cline 用於通訊的語言設定為日文。

10_Cline日本語設定01.png

■ 使用案例和提示範例

以下是一些自然語言請求的範例,可用於透過連接到 SQLcl MCP 伺服器的 MCP 用戶端執行各種資料庫操作。

●諮詢:SH架構產品銷售諮詢

該查詢之前已使用自然語言的 OpenAI API 進行了回答。

可以看到輸出結果是一樣的。

諮詢詳情

SHスキーマのデータでは、各商品はどれだけ売れましたかしら?上位10を昇順で表示してちょ。

21_客戶問合せ-SH売上上位top10.png

Cline回答

SHスキーマにおける商品別売上(合計金額)の上位10件(昇順)は以下の通りです:
1. Soccer Jersey - 27,933.33
2. Tennis Grip Overgrip Tacky — 34,547.82
3. Cushioned Grip - 60,713.47
4. Practice Tennis Balls - 78,881.08
5. Wide Brim Hat — 84,498.67
6. MLB Official Game Baseball w/ Display Case — 88,756.80
7. Tennis Strings Polyester — 101,214.60
8. Plastic - Beach Cricket Ball - 106,468.41
9. Cricket - Athletic Guard Cup — 120,395.81
10. Tennis Strings Hybrids — 148,558.92

● 查詢:HR 和 OE 模式 ER 圖建立

我們讓他們建立一個 ER 圖。他們將使用PlantUML格式。

您可以看到 HR 和 OE 模式是連結的,因為它們透過外鍵關聯。

諮詢詳情

databaseへ接続して、HRスキーマとOEスキーマのER図を作成してください

21_Clien問合せ-ER図作成.png

Cline回答

HRスキーマおよびOEスキーマのER図をPlantUML形式(hr_oe_er.puml)で作成しました。このファイルをPlantUML対応ツールで開くことで、ER図を画像として可視化でき ます。
テーブル間のリレーション(外部キー)もすべて反映されています。
もし画像化や他形式での出力が必要な場合はご指示ください。

透過在 VS Code 外掛程式 PlantUML 中啟用預覽功能,可以顯示 PlantUML 格式的圖表。

這次,我嘗試將 .puml 檔案的內容貼到 PlantUML 線上伺服器( https://www.plantuml.com/plantuml/ )中,這樣您就可以當場繪製圖表。

![21_客戶端查詢-ER圖建立2.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F109087%2F97243


原文出處:https://qiita.com/shirok/items/dbc76a2a85133cbff526


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
站長阿川

站長阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

站長精心設計,帶你實作 63 個小專案,得到作品集!

立即開始免費試讀!