编辑 ODBC 数据源
ODBC 数据源可让 FileMaker Pro 文件访问外部 ODBC 表的数据。您可以交互式查看并更新关系图中的 ODBC 表,这与您查看并更新 FileMaker 表的方法相同。
FileMaker Pro 可以连接到许多相关的数据库管理系统 (RDBMS),这些管理系统会提供用于外部使用的 ODBC API。有关受支持的数据源列表,请参阅配置 ODBC 客户端驱动程序。
重要事项 要使用 ODBC 数据源,您必须:
-
通过 ODBC 驱动程序连接数据源,并设置 DSN。请参阅配置 ODBC 客户端驱动程序。
-
添加 ODBC 数据源。请参阅连接外部数据源。
将 ODBC 数据源链接到 FileMaker Pro 文件之后,您可以设置和编辑选项。
要编辑 ODBC 数据源:
-
选择“文件”菜单 >“管理”>“外部数据源”。
-
在列表中选择 ODBC 数据源,然后单击“编辑”。
-
您可以更改数据源的名称,指定不同的 DSN,设置验证选项以登录已命名的 ODBC 数据源,或者设置查看选项。
-
对于“验证”,默认选项是“提示用户输入用户名和密码”。用户在第一次访问表时必须输入用户名和密码。
如果不想让此 FileMaker Pro 文件的任何用户得到提示,则选择“指定用户名和密码(应用到所有用户)”,并输入用户名和密码。您还可以创建计算来决定用户对外部表的访问权限。您不能在这些计算中使用变量或字段。有关设置计算的详细信息,请参阅“指定计算方式”对话框。
注释 FileMaker Pro 会对密码加密。然而,对数据源的加密取决于 ODBC 驱动程序是否支持加密。
-
要增强性能,您可以过滤外部表的列表,或者查看可让您添加到关系图的外部表。默认是列出数据源的所有表。
-
对于“目录名”,输入一个名称。或者,列出所有目录的表。
-
对于“架构名”,输入一个名称。或者,列出所有架构的表。
-
对于“表名”,输入一个名称,以便只列出该表。
-
-
您可以按类型对表列表进行过滤:“表”、“视图”或“系统表”。
注释 如果要包括其他类型,请取消选择所有的“按类型过滤”选项。
在关系图中设置 ODBC 表
添加 ODBC 数据源之后,您可以在关系图中和布局上使用 ODBC 表,就像使用其他 FileMaker 表一样。您可以实时交互式检索、添加、更新和删除 ODBC 表中的数据。
-
选择“文件”菜单 >“管理”>“数据库”。
-
在“管理数据库”对话框的“关系”选项卡中,单击 。
-
在“指定表”对话框中,对于“数据源”,选择“ODBC 数据源”。
-
如果系统提示您输入 ODBC 数据源的用户名和密码,则输入它们。
您会看到该数据源的外部表列表。
-
选择想要的表,然后单击“确定”。
外部表随即出现在关系图中。表名会以斜体显示。有关链接到关系图中的表并使用它们的信息,请参阅使用关系图。
提示 要识别关系图中的表是 FileMaker 表还是来自 ODBC 数据源,请将指针移动到表标题中的箭头上。您可能想要为 ODBC 表添加一种颜色,以便更容易地识别它们。
将表添加到关系图中之后,FileMaker Pro 会将具有该表名的布局添加到“布局”弹出菜单,且该表会在“表 ”选项卡中列出。表名会以斜体显示。
ODBC 表的列会在“字段”选项卡中出现。字段名会以斜体显示。如果不想 FileMaker Pro 在您的定制化 App 中显示字段,则可以删除这些字段。这些列不会从外部 SQL 数据源表架构删除,而只会从该表架构的 FileMaker Pro 表示形式中删除。有关更多信息,请参阅更新 FileMaker 与 ODBC 数据源之间的数据。
开始使用 ODBC 数据源之前的注意事项
-
决定是否要在关系图中交互式使用 ODBC 表,或者通过“静态”ODBC 导入。有关使用 ODBC 数据源的各种方法的概览,请参阅在 FileMaker Pro 中使用 ODBC 和 JDBC。
-
决定要访问哪些表,以及这些表位于哪些数据源中。
-
如果 FileMaker Pro 无法自动确定表的主键,系统将要求您选择包含唯一键的列。FileMaker Pro 需要每个表都包含一个或多个每行具有唯一值的列。
使用 ODBC 数据源的限制
-
您无法更改 ODBC 数据源的架构。但是,您可以添加补充字段,以便对 ODBC 表中的数据执行计算和合计。
-
在值列表中可以使用来自 ODBC 数据源的字段,但不支持字符大型对象 (CLOB),如长文本字符串。
-
对于包含 ODBC 数据的值列表,“不可访问”权限和“有限”自定义权限不受支持。要禁止用户查看值列表中的 ODBC 数据,必须在外部 SQL 数据库中实施行级别安全性。请参阅编辑值列表权限。
-
不支持“SQL Server 时间戳”数据类型。
-
不支持二进制大型对象 (BLOB),如图片和音效。
-
使用“管理数据库”对话框的“字段”选项卡中的外部表时,以下字段选项不受支持。有关字段选项的信息,请参阅设置字段的选项。
-
创建记录,而不是提交记录时,可以在“自动输入”选项卡上,自动输入序列号。(外部数据库会控制如何提交记录。) 对 ODBC 数据源中的相关数据进行查找时,“拷贝下一个较低值”和“拷贝下一个较高值”都处于禁用状态。
-
在“验证”选项卡上,“唯一值”和“现有值”都为禁止状态。字段中允许的“最大字符数”由外部数据源决定。
-
“存储”选项卡为禁止状态。
-
-
FileMaker Pro 无法控制 ODBC 管理器设置的验证和其他选项。有关在“同步”操作中字段选项如何受到影响的信息,请参阅更新 FileMaker 与 ODBC 数据源之间的数据。
-
链接到 ODBC 数据源的 FileMaker Pro 文件不会继承在 ODBC 数据源中创建的关系。
注释
-
您可以将条件格式化应用到外部字段的数据。请参阅定义布局对象的条件格式化。
-
当 FileMaker Server 或 FileMaker Cloud 托管链接到 ODBC 数据源的数据库时,FileMaker 客户端不需要设置 DSN 即可访问外部数据源。但是,必须在运行 FileMaker Server 的机器上或在 FileMaker Cloud 中设置 DSN。
-
FileMaker Pro 不会使用 SQL 设置查询的语义。FileMaker Pro 可能会针对布局上的每个相关表执行一次查询。如果要保留特定 SQL 联接行为,或获得 SQL 谓词(如 GROUP BY)的结果,请创建视图。然后通过这些视图访问 FileMaker Pro 的数据。(这些视图有时称为“虚拟表”。)
-
较长的查询尝试滚动整个 ODBC 表,或者打开大型表会导致性能较低。
-
Microsoft SQL Server:默认情况下,ODBC 表中的 DATETIME、DATETIME2 和 SMALLDATETIME 数据将按时间戳字段类型进行导入。您可以将时间戳阴影字段的字段类型更改为日期或时间,但数据必须采用特定方式进行结构化。如果导入的 ODBC 表包含时间戳数据,而且将时间戳字段当作日期字段来处理,则对于表中的所有记录,时间部分都必须等于 12:00 上午(或午夜)。与此类似,如果导入的 ODBC 表包含时间戳数据,而且将时间戳字段当作时间字段来处理,则对于表中的所有记录,日期部分都必须等于 1900-01-01(或 1900 年 1 月 1 日)。
与任何 ODBC 表一样,如果字段为主键且值不唯一,则结果可能不一致。
-
如果使用 FileMaker 或 FileMaker Server 托管的数据库文件从 Microsoft SQL Server 访问 ODBC 数据,则可以将主机配置为启用单点登录 (SSO)。请参阅知识库。