自定义应用程序通常为几个 DBMS 执行特定任务。 例如,应用程序可能从单个 DBMS 检索数据并生成报表,或者它可以在多个 DBMS 之间传输数据。 这些应用程序共有的是,这些 DBMS 在编写应用程序之前是已知的,并且不太可能在应用程序的生命周期内发生变化。
因此,自定义应用程序几乎不需要互操作性或完全不需要互操作性。 应用程序开发人员可以为每个 DBMS 选择一个驱动程序,并直接对这些驱动程序进行代码编码。 应用程序可以安全地包含特定于驱动程序的代码来利用这些驱动程序的功能,甚至可能调用本机数据库 API 以使用 ODBC 不支持的功能。
大多数自定义应用程序的主要互作性问题是目标 DBMS 将来是否会更改。 如果是这样,可以通过编写更多可互作的代码来简化此过程。 但是,DBMS 的这种变化很少见,通常需要大量的工作。 因此,自定义应用程序的开发人员很少选择以牺牲功能为代价提高互作性;它们通常选择在更改 DBMS 时重新编码该功能。