適用於 Mac、iPhone與iPad 的 Oracle Database 用戶端
驅動程式用 Swift 實作 Oracle TNS 通訊協定,Mac 無須 Instant Client 或其他 Oracle 軟體。執行 SQL、PL/SQL,包括為 SQL*Plus 編寫的指令碼,並在各結果旁讀取 DBMS_OUTPUT 輸出。
適用於 Mac、iPhone與iPad首次選擇 Oracle 時下載驅動程式


概覽
- 查詢語言
- SQL
- 驅動程式
- 首次使用時下載
- 連線方式
- 主機與連接埠, SSH 通道, SSL/TLS
- 預設連接埠
- 1521
- 最低版本
- 11.1,強制執行:拒絕舊版伺服器
- iPhone 與 iPad
- 可開啟
連線
輸入主機、監聽連接埠及 Service Name,無服務的執行個體將 Connection Type 切為 SID。用使用者名稱密碼以 Normal、SYSDBA 或 SYSOPER 角色登入。
Native Network Encryption 無須設定:伺服器要求時提供帶 SHA-2 總和檢查碼的 AES,Network Encryption 改變 TablePro 提供的選項。TLS 選擇用於 TCPS 的 Required,或帶 CA 憑證的 Verify CA、Verify Identity。新連線 SSL 關閉,Preferred 仍用明文 TCP。
Oracle Autonomous Database 請從 TLS 連線字串(非 mTLS)複製主機、連接埠和服務名稱,SSL 設 Required 或 Verify CA。從不讀取錢包檔案,所以資料庫必須接受不帶雙向 TLS 的 TLS。
RAC SCAN 監聽器、共用伺服器或資料庫前的負載平衡器無須設定;私有網路監聽器透過 SSH 通道存取。
SQL、PL/SQL 與交易
PL/SQL 區塊或儲存單元無論含多少分號都作為一個陳述式執行,游標置於其中即可。SQL*Plus 或 SQL Developer 指令碼無須修改,單獨 / 列結束上方單元。編譯失敗顯示 Oracle 原始錯誤,每列附位置。
DBMS_OUTPUT.PUT_LINE 列與列印它的陳述式結果一起顯示,無須 SET SERVEROUTPUT ON。匿名區塊中的 :name 是在面板填寫的查詢參數。
各陳述式成功即提交。用 SET TRANSACTION、SAVEPOINT 或 LOCK TABLE 開始保留改動,其後包括格線儲存均等待 COMMIT 或 ROLLBACK。
每個使用者是一個 schema,Cmd+K 無須重新連線切換使用中 schema。列編輯暫存並可 Preview SQL。執行 drop 或 truncate 的區塊即使透過 EXECUTE IMMEDIATE,也在執行前觸發危險查詢警告。
結構
Structure 分頁用 ALTER TABLE 新增、重新命名、修改、刪除欄位及建立索引,對區分大小寫的名稱加雙引號。資料表資訊還含主索引鍵、外部索引鍵和 CREATE TABLE DDL。
分割區資料表下列出各分割區及位置,子分割區巢狀於所屬分割區內。用 SELECT * FROM orders PARTITION (p2024) 查詢一個分割區。
Starter 方案的 Compare & Sync 比較兩個 Oracle schema 或其資料,儲存每個單元後帶 / 列的指令碼,可用於 SQL*Plus 或 SQLcl。
在伺服器匯出
Server-Side Export 以自有權限啟動 Data Pump 工作,將資料表寫入伺服器的 DIRECTORY 物件,Mac 不接收檔案。面板報告已啟動後工作仍執行,請在 DBA_DATAPUMP_JOBS 追蹤。
移動資料
匯入 CSV、TSV、JSON、JSONL、XLSX與SQL 檔案;資料檔案建立新資料表時,建議名稱大寫且符合 Oracle 長度限制。資料表或結果匯出為 CSV、JSON、SQL、XLSX、Markdown、HTML與XML。SQL 匯出在每個常式和觸發程序後加 / 列,供 SQL*Plus 還原。
iPhone 與 iPad
iPhone 與 iPad App 建立連線時可選擇 Oracle,App 直接連線。
iPhone、iPad 的 Oracle 驅動程式內建於 App。連線表單接受 Service Name 或 SID、SYSDBA、SYSOPER 角色及 Network Encryption 設定。以卡片瀏覽資料表,編輯有主索引鍵的列,在 Query 分頁執行 SQL;建立修改資料表仍在 Mac。
限制
- 不支援 Oracle Wallet、作業系統驗證、Kerberos 或 LDAP。請使用服務名稱或 SID 及密碼連線。
- Oracle 沒有 EXPLAIN 或執行計畫檢視。
- 無法使用 Users & Roles。請在編輯器中用 CREATE USER 和 GRANT 管理帳戶。
- 側邊欄不列出套件,但會列出獨立的程序和函式。
關於 Oracle 的問題
為什麼看不到應用程式的任何資料表?
可能連線到了容器資料庫。可插拔資料庫有獨立服務名稱,例如 XE 內的 XEPDB1。在伺服器執行 lsnrctl services 列出監聽器回應的名稱。
為什麼 SET SERVEROUTPUT ON 失敗?
SET SERVEROUTPUT ON、SHOW ERRORS、EXEC 等 SQL*Plus 指令不是 SQL,伺服器拒絕它們。請刪除:連線即開啟輸出。將 EXEC p 寫為 BEGIN p; END;。
舊 10G 密碼驗證器的帳號能連線嗎?
可以,但 Oracle 已淘汰其 DES 雜湊。用 ALTER USER … IDENTIFIED BY 修改密碼,再檢查 dba_users 的 password_versions 含 11G 或 12C。
取得 TablePro
需要 macOS 13 Ventura 或更新版本