Skip to content

jasonyenhydron/SQLeditor_PLSQL_11g

Repository files navigation

SQLeditor PLSQL 11g

內部使用的 Oracle / PL-SQL 開發工具,目標功能對標 Toad for Oracle / PL-SQL Developer,提供現代化 IDE 體驗。


專案結構

SQLeditor_PLSQL_11g/
├── SQLeditor.Web/          # ASP.NET Core MVC Web 版(主力開發中)
├── SQLeditor.PLSQL/        # WPF 桌面版(初版骨架)
├── SQLeditor_PLSQL_11g.slnx
├── prototype.html          # UI 原型參考
├── skill.md                # 開發規劃文件
└── project_overview.md     # 目前實作概況

技術架構

Web 版(SQLeditor.Web)

層級 技術
後端框架 .NET 10 + ASP.NET Core MVC
前端互動 Alpine.js v3
SQL 編輯器 Monaco Editor v0.45
動態內容 HTMX
Oracle 連線 Oracle.ManagedDataAccess.Core
本地儲存 SQLite(Microsoft.Data.Sqlite)
樣式 純 CSS(無框架依賴)

桌面版(SQLeditor.PLSQL)

層級 技術
框架 .NET 8 + WPF
架構模式 MVVM(CommunityToolkit.Mvvm)
SQL 編輯器 AvalonEdit
Oracle 連線 Oracle.ManagedDataAccess.Core
本地儲存 SQLite

功能概覽

已完成

  • ✅ 自動掃描 tnsnames.ora,列出可用 TNS Alias
  • ✅ 連線設定管理(儲存 / 載入 / 密碼保護)
  • ✅ Oracle Database Login Modal(TNS / Direct / LDAP 三種連線模式)
  • ✅ SQL / PL-SQL 編輯器(Monaco Editor,語法高亮、F5 執行)
  • ✅ 查詢結果表格顯示
  • ✅ 查詢歷史紀錄
  • ✅ Schema Browser(樹狀瀏覽 Table / View / Package / Procedure 等)
  • ✅ Object Inspector(Columns / Source / DDL / Errors / Grants 分頁)
  • ✅ 多頁籤查詢工作區
  • ✅ 可調整寬度的三欄式版型(側欄 / 編輯區 / Inspector)

規劃中(Phase 2)

  • ⬜ Explain Plan
  • ⬜ DBMS Output
  • ⬜ 匯出 CSV / Excel
  • ⬜ Schema Browser 補強(Arguments / Deps / Synonyms / Auditing)
  • ⬜ 查詢歷史搜尋與篩選

規劃中(Phase 3)

  • ⬜ PL/SQL 編譯與編譯錯誤定位
  • ⬜ Session 監控
  • ⬜ Job / Scheduler 檢視
  • ⬜ DDL 差異比對

快速啟動(Web 版)

環境需求

  • .NET 10 SDK
  • Oracle Client(OracleClientForMicrosoftTools)

執行

cd SQLeditor.Web
dotnet run

預設監聽:http://localhost:5065


資料表設計(SQLite)

connections

欄位 說明
id 主鍵
name 連線名稱
tns_alias TNS Alias
username Oracle 帳號
password_encrypted 加密後的密碼
connect_as normal / sysdba / sysoper
last_used_at 最後使用時間

query_history

欄位 說明
id 主鍵
connection_id 所屬連線
sql_text 執行的 SQL
executed_at 執行時間
duration_ms 執行耗時(毫秒)
success_flag 是否成功

重要非功能需求

  1. 大結果集分頁載入,避免 UI 卡死
  2. 長查詢可取消
  3. 所有 Oracle 例外保留原始 ORA-xxxxx 訊息
  4. 密碼以 Windows DPAPI / 本地加密方式保存
  5. 連線逾時與重連機制

參考專案

專案 授權 連結
DBeaver Apache-2.0 https://github.com/dbeaver/dbeaver
TOra GPL-2.0 https://github.com/tora-tool/tora
DbGate GPL-3.0 https://github.com/dbgate/dbgate
SQuirreL SQL LGPL https://squirrel-sql.sourceforge.io/

About

SQLeditor_PLSQL_11g

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages