如何使用元数据?

应用程序需要大多数结果集操作的元数据。 例如,应用程序使用某列的数据类型来确定要将哪一种变量绑定到该列; 它使用某字符列的字节长度来确定需要有多少空间才能显示该列的数据。 应用程序确定列的元数据的方式取决于应用程序的类型。

垂直应用程序使用预定义的表,并对这些表执行预定义的操作。 由于此类应用程序的结果集元数据甚至是在编写应用程序之前定义的,并且由应用程序开发人员控制,因此可以将它硬编码到应用程序中。 例如,如果在数据源中将顺序 ID 列定义为 4 字节整数,则应用程序可以始终将 4 字节整数绑定到该列。 如果元数据在应用程序中为硬编码,则对应用程序所用的表进行更改通常意味着要对应用程序代码进行更改。 这很少出现问题,因为此类更改通常作为应用程序新版本的一部分进行。

与垂直应用程序相同的是,自定义应用程序通常使用预定义的表,并对这些表执行预定义的操作。 例如,可能会写入应用程序以在三个不同的数据源之间传输数据;写入应用程序时,通常知道要传输的数据。 因此,自定义应用程序也往往具有硬编码元数据。

泛型应用程序,尤其是支持即席查询的应用程序,几乎从不知道他们创建的结果集的元数据。 因此,它们必须使用函数 SQLNumResultColsSQLDescribeColSQLColAttribute 在运行时发现元数据,这些函数将在下一部分 SQLDescribeCol 和 SQLColAttribute 中进行介绍。

所有应用程序(无论其类型如何)都可以硬编码目录函数返回的结果集的元数据。 这些结果集在本手册的参考部分中定义。