过程
本主题显示某些方法示例,您可以使用这些方法处理用户定义的表的文件命名冲突。 假设应用程序执行以下 CREATE TABLE 语句:
CREATE TABLE T (PK INT NOT NULL PRIMARY KEY, A INT)
一旦执行此语句,DB2 Everyplace 将为表 T 创建以下两个文件:
如果创建另一个表并使用名称 iT,DB2 Everyplace 将创建两个附加文件:DSY_iT(数据)和 DSY_iiT(索引)。因为表 T 的索引文件和表 iT 的数据文件具有相同的名称,所以它们之间有冲突。 两个文件都命名为 DSY_iT。为了避免此问题,DB2 Everyplace 支持文件名映射。即,文件名将完全由 DB2 Everyplace 创建和管理。要使用此功能部件,应用程序必须设置连接属性且必须在创建第一个表之前执行它。 例如,在 CLI 中:
SQLSetConnectAttr(hdbc, SQL_ATTR_FILENAME_FORMAT, (SQLPOINTER)SQL_FILENAME_FORMAT_83, 0)
或在“命令行处理器”中:
DISABLE LONG FILENAME
一旦执行此命令并创建了第一个表,产生的文件将是针对表 T 的:
相关概念
相关任务