适用于 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 应用创建连接时可选择 Oracle,应用直接连接。
iPhone、iPad 的 Oracle 驱动内置于应用。连接表单接受 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 或更新版本