內部使用的 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 # 目前實作概況
| 層級 |
技術 |
| 後端框架 |
.NET 10 + ASP.NET Core MVC |
| 前端互動 |
Alpine.js v3 |
| SQL 編輯器 |
Monaco Editor v0.45 |
| 動態內容 |
HTMX |
| Oracle 連線 |
Oracle.ManagedDataAccess.Core |
| 本地儲存 |
SQLite(Microsoft.Data.Sqlite) |
| 樣式 |
純 CSS(無框架依賴) |
| 層級 |
技術 |
| 框架 |
.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)
- ⬜ Explain Plan
- ⬜ DBMS Output
- ⬜ 匯出 CSV / Excel
- ⬜ Schema Browser 補強(Arguments / Deps / Synonyms / Auditing)
- ⬜ 查詢歷史搜尋與篩選
- ⬜ PL/SQL 編譯與編譯錯誤定位
- ⬜ Session 監控
- ⬜ Job / Scheduler 檢視
- ⬜ DDL 差異比對
- .NET 10 SDK
- Oracle Client(OracleClientForMicrosoftTools)
cd SQLeditor.Web
dotnet run
預設監聽:http://localhost:5065
| 欄位 |
說明 |
| id |
主鍵 |
| name |
連線名稱 |
| tns_alias |
TNS Alias |
| username |
Oracle 帳號 |
| password_encrypted |
加密後的密碼 |
| connect_as |
normal / sysdba / sysoper |
| last_used_at |
最後使用時間 |
| 欄位 |
說明 |
| id |
主鍵 |
| connection_id |
所屬連線 |
| sql_text |
執行的 SQL |
| executed_at |
執行時間 |
| duration_ms |
執行耗時(毫秒) |
| success_flag |
是否成功 |
- 大結果集分頁載入,避免 UI 卡死
- 長查詢可取消
- 所有 Oracle 例外保留原始
ORA-xxxxx 訊息
- 密碼以 Windows DPAPI / 本地加密方式保存
- 連線逾時與重連機制