JMP 可以使用 ODBC 管理器与使用 ODBC 数据源的数据库进行通信。ODBC 管理器和相关驱动程序取决于您的操作系统。您在操作系统软件中创建数据源后,请按照以下步骤在 JMP 中连接至数据库:
1. 选择文件 > 数据库 > 打开表。“连接”框列出了您在当前 JMP 会话中已连接的数据源。
2. 点击新建连接。
3. (Windows) 在“选择数据源”窗口(Figure 3.54)中,点击“机器数据源”选项卡,选择数据源,点击确定,输入用户名和密码,然后点击确定。
(macOS) 在“选择 DSN” 窗口中,选择数据源,输入用户名和密码,然后点击选择 DSN。
图 3.54 选择数据源 (Windows)
新连接显示在“从数据库打开表”窗口中。
在您连接至 ODBC 数据库并选择要导入的表后,数据会在数据表中打开。数据表中包含了几个表脚本。
• 运行“源”脚本可重新连接至数据库。
• 运行“从数据库更新”脚本可重新导入并刷新数据。若数据库表包含的列数与原始 JMP 表的列数相同,则现有 JMP 表中的值将原位更新。不过,若列数不同,则新数据表将在更新数据的存储位置打开。
• 运行“保存至数据库”脚本可将数据表保存至数据库。数据库中的现有数据会被替换。该脚本可能包含用户名和密码。可以设置称为隐藏 ODBC 连接字符串的首选项,用于防止包括这一可能的敏感信息。选择文件 > 首选项 > 表 (Windows) 以查找首选项(或者在 macOS 上选择 JMP > 首选项 > 表)。
从数据库中导入数据
1. 选择文件 > 数据库 > 打开表。
随即显示“从数据库打开表”窗口(Figure 3.55)。
2. 若您已连接至数据库,请在“连接”框中选择该数据库。请按照使用“打开表”连接至数据库中的步骤进行操作。
“连接”框列出 JMP 所连接的数据源。“架构 - 表”框列出了支持这些数据库的架构。
图 3.55 “从数据库打开表”窗口
注意:若 ODBC 驱动程序不支持获取过程,将禁用获取过程复选框。
3. 若所需数据源未列在“连接”框中,请点击新建连接以选择一个数据源。选择数据源的方法取决于您的操作系统。
4. 在“连接”框内选择所需的数据源。“表”框内的表列表随之更新。更新可能需要几秒钟的时间,具体取决于表的数量和连接至数据库的速度。若数据库支持架构,将为列表中的第一个架构加载表,点击其他架构时也会为其他架构加载表。
5. 通过选择表列表中包含复选框组中的选项控制所列出的表。
注意:不同驱动程序对这些标签的解释各有不同。
用户表 点击该选项后,将在表列表中显示所有可用的用户表。用户表特定于登录到该计算机的用户。
视图 点击该选项后,将在表列表中显示“视图”以及其他所有可以打开的文件类型。“视图”是一些虚拟表,即每次打开时都更新的查询结果集。视图用于获取和组合一个或多个表中的信息。
系统表 点击该选项后,将显示表列表中的所有可用系统表。系统表是可供所有用户或系统范围内的服务使用的表。
同义词 点击该选项后,将在表列表中显示所有可用的 ORACLE 同义词。
抽样 输入要显示在表列表中的行数百分比。选择该选项可加快大型数据库的查询速度。JMP 使用数据库所支持的抽样方法。当数据库不支持抽样时该复选框将不可用。
6. 从“表”列表中选择所需表。
注意:若连接了 dBase 数据库,请选择要连接的数据库文件夹。单个文件灰显,无法选择。
7. 点击打开表可导入选定表中的所有数据,点击高级可指定要导入的表子集。一些数据库要求您输入用户 ID 和密码才允许访问数据。
当您打开大型表时可能会略有延迟。要查看所有活动 ODBC 查询的状态,请选择视图 > 正在运行的查询。
注意:若数据之前导出到 JMP 中的数据库并且包含“表达式”列,则该列可能会被导入为“字符”列。选择列 > 列信息,然后将“数据类型”改为“表达式”。
您可以使用结构化查询语言 (SQL) 语句控制从数据库中导入的数据。在 JMP 中打开某个数据库文件时,实际是向该数据库发送了一个 SQL 语句。默认情况下,该语句获取数据库表中的所有列和记录。而有时并不需要如此多的数据。若您只对一部分表数据感兴趣,则可以自定义 SQL 请求,仅请求所需的数据。执行某一 SQL 查询后,该查询的代码将以 SQL 表变量形式存储在数据表中。
本节介绍如何编写 SQL 语句以检索数据。要在不编写 SQL 语句的情况下进行交互式数据查询,可以使用“查询生成器”。您还可以在“查询生成器”中开始创建查询,然后将其添加至您自己的 SQL。请参见在“查询生成器”中编写 SQL 语句。
1. 选择文件 > 数据库 > 打开表。
随即显示“从数据库打开表”窗口(Figure 3.55)。
2. 根据情况连接至数据库或选择现有数据库连接。请按照使用“打开表”连接至数据库中的步骤进行操作。
“连接”框列出 JMP 所连接的数据源。“架构 - 表”框列出了支持这些数据库的架构。
注意:在该窗口中运行的 SQL 查询仅针对该窗口左侧各窗格中显示的表和过程执行。在此运行无关的 SQL 不会生成任何结果。
3. 在“从数据库打开表”窗口中,点击高级按钮,打开特定的表子集。
4. 键入有效的 SQL 语句或修改默认语句。Figure 3.56 显示适用于选定文件的默认 SQL Select 语句。有关可以使用的 SQL 语句的说明,请参见结构化查询语言 (SQL):参考。
相反,您可以点击 Where 按钮并使用 WHERE 子句编辑器创建表达式,以此来添加表达式。请参见使用 WHERE 子句编辑器。
图 3.56 读取存储在 Excel 文件的 Solubility 表中的所有变量
5. 点击执行 SQL。随即显示一个包含选定列的 JMP 数据表。请参见使用数据表变量。
6. 要查看所有正在运行查询的状态,请选择视图 > 正在运行的查询。
请注意,您可以通过输入任何有效的 SQL 语句并点击执行 SQL 来执行该命令。有效的 SQL 因数据源和 ODBC 驱动程序而异。