JDBC Driver for Salesforce

Build 24.0.9062

メタデータのキャッシュ

このセクションでは、メタデータのキャッシュを有効にする方法とメタデータキャッシュを更新する方法について説明します。

データをクエリできるようになる前に、コネクタは関連するメタデータを取得する必要があります。デフォルトでは、メタデータはメモリにキャッシュされ、接続間で共有されます。しかし、プロセスにまたがって保持したい場合、またはメタデータ要求が高負荷の場合は、解決策はメタデータをディスクにキャッシュすることです。

メタデータキャッシュの有効化

メタデータのキャッシュを有効にするには、CacheMetadata をtrue に設定し、接続文字列の設定方法についてはキャッシュ接続の設定 を参照してください。本製品 は、メタデータが初めて必要になったときにメタデータをキャッシュし、それ以降のリクエストでは、そのメタデータを使用します。

メタデータキャッシュの更新

メタデータはキャッシュされるため、ライブソース上のメタデータに対する変更(カラムや属性の追加や削除など)は、メタデータキャッシュに自動的には反映されません。ライブメタデータを更新するには、キャッシュされたデータをdelete またはdrop する必要があります。

コードからのメタデータキャッシュ

以下のコードを使用して、メタデータキャッシュを構築できます。これは、オブジェクトリレーショナルマッピングフレームワーク(例えばHibernate)を使用する場合に特に役立ちます。

Connection conn = DriverManager.getConnection("jdbc:salesforce:Cache Location=C:\\cdata.salesforce.db;AutoCache=True;AuthScheme=Basic;User=myUser;Password=myPassword;Security Token=myToken;");
DatabaseMetaData table_meta = conn.getMetaData();

ResultSet rs=table_meta.getTables(null, null, "%", null); 

while (rs.next()) {
  String tableName = rs.getString("TABLE_NAME");
  System.out.println("Cached metadata for table: "+tableName);
  ResultSet cols = table_meta.getColumns(null, null, tableName, null);
  while(rs.next()){
  }
}
System.out.println();
System.out.println("All tables cached.");
conn.close();

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062