Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

JDBC クイック・リファレンス

この章は、以下の拡張クラスとオプションに関するクイック・リファレンスです。

Note:

この章では、このドキュメントで説明する拡張メソッドとバリアントのみをリストします。オプションの JDBC 機能の拡張、バリアント、実装を含む、InterSystems JDBC ドライバのすべての機能の完全な説明は、"Java サードパーティ API 用実装リファレンス" の “JDBC ドライバのサポート” を参照してください。

ConnectionPoolDataSource クラス

com.intersystems.jdbc.ConnectionPoolDataSource クラスは、javax.sql.ConnectionPoolDataSource インタフェースを完全に実装します。また、InterSystems IRIS 接続プーリングを制御するための、次の拡張メソッドのセットも含まれます。詳細は、“IRISConnectionPoolDataSource メソッドの使用法” を参照してください。

getConnectionWaitTimeout()

ConnectionPoolDataSource.getConnectionWaitTimeout() は、接続プール・マネージャが、接続が利用可能になるまで待機する秒数を返します ("setConnectionWaitTimeout()" も参照してください)。

int getConnectionWaitTimeout()
getMaxPoolSize()

ConnectionPoolDataSource.getMaxPoolSize() は、接続プールの現在の最大サイズを表す int を返します ("setMaxPoolSize()" も参照してください)。

int getMaxPoolSize()
getPoolCount()

ConnectionPoolDataSource.getPoolCount() は、接続プール内の現在のエントリ数を表す int を返します。SQLException をスローします。

int getPoolCount()
getPooledConnection()

このメソッドの代わりに常に IRISDataSource.getConnection() を使用してください。

このメソッドは呼び出さないでください。

ConnectionPoolDataSource.getPooledConnection() はインタフェースに必要ですが、直接呼び出すことはできません。InterSystems JDBC ドライバは接続プーリングを透過的に制御します。

restartConnectionPool()

ConnectionPoolDataSource.restartConnectionPool() は、接続プールを再起動します。物理接続をすべて切断し、接続プールを空にします。SQLException をスローします。

void restartConnectionPool()
setMaxPoolSize()

ConnectionPoolDataSource.setMaxPoolSize() は、接続プールの最大サイズを設定します。最大サイズが設定されていない場合、既定値として 40 に設定されます ("getMaxPoolSize()" も参照してください)。

void setMaxPoolSize(int max)
  • max — 接続プールのオプションの最大サイズです (既定値は 40)。

setConnectionWaitTimeout()

ConnectionPoolDataSource.setConnectionWaitTimeout() は、接続の待機タイムアウト間隔を指定した秒数に設定します ("getConnectionWaitTimeout()" も参照してください)。

void setConnectionWaitTimeout(int timeout)
  • timeout — タイムアウト間隔を秒数で指定します (既定では 0)。

タイムアウト時間が過ぎても利用可能な接続がない場合は、例外がスローされます。既定では 0 に設定されています。これは、接続が即時に利用可能になることを示します。プールがいっぱいである場合は例外がスローされます。

IRISDataSource クラス

com.intersystems.jdbc.IRISDataSource クラスは、javax.sql.DataSource インタフェースを完全に実装します。また、InterSystems IRIS の接続プロパティを取得または設定するための拡張メソッドも多数含まれます (詳細は、“接続パラメータのオプション” を参照してください)。

IRISDataSource は、InterSystems JDBC ドライバでサポートされていない javax.sql.CommonDataSource のメソッドを継承しません。

getConnection()
拡張機能を持つ必須メソッド

必須メソッド IRISDataSource.getConnection()java.sql.Connection を返します。SQLException をスローします。

このメソッドは、InterSystems IRIS ドライバ接続を取得する際には常に使用する必要があります。また、InterSystems IRIS ドライバは、getConnection() が返す java.sql.Connection オブジェクトを使用して、プーリングを透過的に提供します。

java.sql.Connection getConnection()
java.sql.Connection getConnection(String usr,String pwd)
  • usr — 対象の接続のオプションのユーザ名引数。

  • pwd — 対象の接続のオプションのパスワード引数。

このメソッドはプーリングを提供し、常に getPooledConnection()、および PooledConnection クラスのメソッドの代わりに使用する必要があります (詳細は、“ConnectionPoolDataSource クラス” を参照してください)。

getConnectionSecurityLevel()

IRISDataSource.getConnectionSecurityLevel() は、現在の接続セキュリティ・レベルの設定を表す int を返します。"setConnectionSecurityLevel()" も参照してください。

int getConnectionSecurityLevel()
getDatabaseName()

IRISDataSource.getDatabaseName() は、現在のデータベース (InterSystems IRIS ネームスペース) の名前を表す String を返します。"setDatabaseName()" も参照してください。

String getDatabaseName()
getDataSourceName()

IRISDataSource.getDataSourceName() は、現在のデータ・ソース名を表す String を返します。"setDataSourceName()" も参照してください。

String getDataSourceName()
getDefaultTransactionIsolation()

IRISDataSource.getDefaultTransactionIsolation() は、現在の既定のトランザクション分離レベルを表す int を返します。"setDefaultTransactionIsolation()" も参照してください。

int getDefaultTransactionIsolation()
getDescription()

IRISDataSource.getDescription() は、現在の記述を表す String を返します。"setDescription()" も参照してください。

String getDescription()

IRISDataSource.getEventClass() は、イベント・クラス・オブジェクトを表す String を返します。 "setEventClass()" も参照してください。

String getEventClass()
getKeyRecoveryPassword()

IRISDataSource.getKeyRecoveryPassword() は、現在のキー・リカバリ・パスワード設定を表す String を返します。"setKeyRecoveryPassword()" も参照してください。

String getKeyRecoveryPassword()
getNodelay()

IRISDataSource.getNodelay() は、現在の TCP_NODELAY オプション設定を表す Boolean を返します。"setNodelay()" も参照してください。

boolean getNodelay()
getPassword()

IRISDataSource.getPassword() は、現在のパスワードを表す String を返します。 "setPassword()" も参照してください。

String getPassword()
getPortNumber()

IRISDataSource.getPortNumber() は、現在のポート番号を表す int を返します。"setPortNumber()" も参照してください。

int getPortNumber()
getServerName()

IRISDataSource.getServerName() は、現在のサーバ名を表す String を返します。"setServerName()" も参照してください。

String getServerName()
getServicePrincipalName()

IRISDataSource.getServicePrincipalName() は、現在のサービス・プリンシパル名を表す String を返します。"setServicePrincipalName()" も参照してください。

String getServicePrincipalName()
getSharedMemory()

IRISDataSource.getSharedMemory() は、接続が共有メモリを使用しているかどうかを示す Boolean を返します。"setSharedMemory()" も参照してください。

Boolean getSharedMemory()
getSSLConfigurationName()

IRISDataSource.getSSLConfigurationName() は、現在の TLS 構成名の設定を表す String を返します。"setSSLConfigurationName()" も参照してください。

String getSSLConfigurationName()
getURL()

IRISDataSource.getURL() は、対象のデータソースの現在の URL を表す String を返します。"setURL()" も参照してください。

String getURL()
getUser()

IRISDataSource.getUser() は、現在のユーザ名を表す String を返します。"setUser()" も参照してください。

String getUser()
setConnectionSecurityLevel()

IRISDataSource.setConnectionSecurityLevel() は、このデータソースの接続セキュリティ・レベルを設定します。"getConnectionSecurityLevel()" も参照してください。

void setConnectionSecurityLevel(int level)
  • level — 接続セキュリティ・レベルの数値です。

setDatabaseName()

IRISDataSource.setDatabaseName() は、対象のデータソースのデータベース名 (InterSystems IRIS ネームスペース) を設定します。"getDatabaseName()" も参照してください。

void setDatabaseName(String databaseName)
  • databaseName — InterSystems IRIS ネームスペースの文字列です。

setDataSourceName()

IRISDataSource.setDataSourceName() は、対象のデータソースのデータ・ソース名を設定します。DataSourceName はオプション設定で、接続には使用されません。"getDataSourceName()" も参照してください。

void setDataSourceName(String dataSourceName)
  • dataSourceName — データ・ソース名の文字列です。

setDefaultTransactionIsolation()

IRISDataSource.setDefaultTransactionIsolation() は、トランザクションの既定の分離レベルを設定します。"getDefaultTransactionIsolation()" も参照してください。

void setDefaultTransactionIsolation(int level)
  • level — 既定のトランザクション分離レベルの数値です。

setDescription()

IRISDataSource.setDescription() は、対象のデータソースの記述を設定します。Description はオプションの設定で、接続には使用されません。"getDescription()" も参照してください。

void setDescription(String desc)
  • desc — データソースの記述の文字列です。

setEventClass()

IRISDataSource.setEventClass() は、対象のデータソースのイベント・クラスを設定します。このイベント・クラスは InterSystems IRIS JDBC 固有のメカニズムです。この機能は完全にオプションで、ほとんどのアプリケーションで必要ありません。"getEventClass()" も参照してください。

void setEventClass(String eventClassName)
  • eventClassName — トランザクション・イベント・クラスの名前です。

InterSystems JDBC サーバは、トランザクションのコミット時およびロールバック時にクラスで実装されているメソッドにディスパッチします。これらのメソッドが実装されているクラスは、“イベント・クラス” と呼ばれます。イベント・クラスがログイン時に指定されると、JDBC サーバは、現在のトランザクションをコミットする直前に %OnTranCommit にディスパッチし、現在のトランザクションをロールバック (中止) する直前に %OnTranRollback にディスパッチします。ユーザ・イベント・クラスは %ServerEvent を拡張する必要があります。このメソッドは、いかなる値も返さず、現在のトランザクションを中止できません。

setKeyRecoveryPassword()

IRISDataSource.setKeyRecoveryPassword() は、対象のデータソースのキー・リカバリ・パスワードを設定します。"getKeyRecoveryPassword()" も参照してください。

void setKeyRecoveryPassword(String password) 
  • password — データソースのキー・リカバリ・パスワードの文字列です。

setLogFile()

IRISDataSource.setLogFile() は、対象のデータソースのログ・ファイル名を無条件に設定します。

void setLogFile(String logFile)
  • logFile — データソースのログ・ファイル名の文字列です。

setNodelay()

IRISDataSource.setNodelay() は、対象のデータソースの TCP_NODELAY オプションを設定します。このフラグを切り替えると、アプリケーションのパフォーマンスに影響する場合があります。設定されていない場合、既定値として true が設定されます。"getNodelay()" も参照してください。

void setNodelay(boolean noDelay)
  • noDelay — データソースの TCP_NODELAY オプション設定です (既定値は true)。

setPassword()

IRISDataSource.setPassword() は、対象のデータソースのパスワードを設定します。"getPassword()" も参照してください。

void setPassword(String pwd)
  • pwd — データソースのパスワードの文字列です。

setPortNumber()

IRISDataSource.setPortNumber() は、対象のデータソースのポート番号を設定します。"getPortNumber()" も参照してください。

void setPortNumber(int portNumber)
  • portNumber — データソースのポート番号です。

setServerName()

IRISDataSource.setServerName() は、対象のデータソースのサーバ名を設定します。"getServerName()" も参照してください。

void setServerName(String serverName)
  • serverName — データソースのサーバ名の文字列です。

setServicePrincipalName()

IRISDataSource.setServicePrincipalName() は、対象のデータソースのサービス・プリンシパル名を設定します。"getServicePrincipalName()" も参照してください。

void setServicePrincipalName(String name)
  • name — データソースのサービス・プリンシパル名の文字列です。

setSharedMemory()

IRISDataSource.setSharedMemory() は、対象のデータソースの共有メモリ接続を設定します。"getSharedMemory()" も参照してください。

void setSharedMemory(Boolean sharedMemory)
  • sharedMemory — オンは 0、オフは 1 です。

setSSLConfigurationName()

IRISDataSource.setSSLConfigurationName() は、対象のデータソースの TLS 構成名を設定します。"getSSLConfigurationName()" も参照してください。

void setSSLConfigurationName(String name)
  • name — TLS 構成名の文字列です。

setURL()

IRISDataSource.setURL() は、対象のデータソースの URL を設定します。"getURL()" も参照してください。

void setURL(String u)
  • u — URL の文字列です。

setUser()

IRISDataSource.setUser() は、対象のデータソースのユーザ名を設定します。"getUser()" も参照してください。

void setUser(String username)
  • username — ユーザ名の文字列です。

接続パラメータのオプション

このセクションでは、jdbc.IRISDataSource (インターシステムズでの javax.sql.DataSource の実装) で提供されている接続プロパティのリストと説明を示します。接続プロパティは、DriverManager (“接続のための DriverManager の使用法” を参照) に渡すことによって、または接続プロパティ・アクセサ (完全なリストは、“IRISDataSource クラス” を参照) を呼び出すことによって設定できます。

以下の接続プロパティがサポートされています。

connection security level

オプション。接続セキュリティ・レベルを表す整数です。有効なレベルは、0123、または 10 です。既定値は 0 です。

0 - インスタンス認証 (パスワード)

1 - Kerberos (認証のみ)

2 - Kerberos パケット整合性

3 - Kerberos 暗号化

10 - TLS

IRISDataSource のメソッド getConnectionSecurityLevel() および setConnectionSecurityLevel() を参照してください。

host

オプション。サーバの IP アドレスまたはホスト名を指定する文字列です。

接続パラメータ host — IP アドレス、または完全修飾ドメイン名 (FQDN)。例えば、127.0.0.1localhost は両方ともローカル・マシンを表します。

DataSource のメソッド getServerName() および setServerName() を参照してください。

key recovery password

オプション。現在のキー・リカバリ・パスワード設定を含む文字列です。既定値は null です。IRISDataSource のメソッド getKeyRecoveryPassword() および setKeyRecoveryPassword() を参照してください。

password

必須項目。パスワードが含まれる文字列です。既定値は null です。IRISDataSource のメソッド getPassword() および setPassword()

port

オプション。接続の TCP/IP ポート番号を指定する整数。

接続パラメータ port — InterSystems IRIS スーパーサーバが待ち受け状態にある TCP ポート番号。既定値は 1972 です (複数の InterSystems IRIS インスタンスがインストールされている場合は、これ以降で最初に使用可能なポート番号です。"パラメータ・ファイル・リファレンス" の "DefaultPort" を参照)。

DataSource のメソッド getPortNumber() および setPortNumber() を参照してください。

service principal name

オプション。サービス・プリンシパル名を表す文字列です。既定値は null です。IRISDataSource のメソッド getServicePrincipalName() および setServicePrincipalName()

SharedMemory

オプション。localhost127.0.0.1 に常に共有メモリを使用するかどうかを示すブーリアン値です。既定値は null です。IRISDataSource のメソッド getSharedMemory() および setSharedMemory() を参照してください。“共有メモリ接続” も参照してください。

SO_RCVBUF

オプション。TCP/IP の SO_RCVBUF 値 (ReceiveBufferSize) を表す整数です。既定値は 0 です (システムの既定値を使用)。

SO_SNDBUF

オプション。TCP/IP の SO_SNDBUF 値 (SendBufferSize) を表す整数です。既定値は 0 です (システムの既定値を使用)。

SSL 構成名

オプション。このオブジェクトの現在の TLS 構成名を含む文字列です。既定値は null です。IRISDataSource のメソッド getSSLConfigurationName() および setSSLConfigurationName() を参照してください。

TCP_NODELAY

オプション。TCP/IP の TCP_NODELAY フラグ (Nodelay) を示すブーリアン値です。既定値は true です。

接続パラメータ nodelayIRISDataSource オブジェクト経由で接続している場合に TCP_NODELAY オプションを設定します。このフラグを切り替えると、アプリケーションのパフォーマンスに影響する場合があります。有効な値は、true および false です。設定されていない場合、既定値として true が設定されます。

IRISDataSource のメソッド getNodelay() および setNodelay()

TransactionIsolationLevel

オプション。トランザクションの分離レベルを表す java.sql.Connection 定数です。有効な値は、TRANSACTION_READ_UNCOMMITTED または TRANSACTION_READ_COMMITTED です。既定値は null です (システムの既定値 TRANSACTION_READ_UNCOMMITTED を使用)。

IRISDataSource のメソッド getDefaultTransactionIsolation() および setDefaultTransactionIsolation()

user

必須項目。ユーザ名が含まれる文字列です。既定値は null です。IRISDataSource のメソッド getUser() および setUser()

接続プロパティのリスト

以下のようなコードを使用して、任意の JDBC 準拠のドライバに使用可能なプロパティをリストできます。

   java.sql.Driver drv = java.sql.DriverManager.getDriver(url);
   java.sql.Connection dbconnection = drv.connect(url, user, password);
   java.sql.DatabaseMetaData meta = dbconnection.getMetaData();
   System.out.println ("\n\n\nDriver Info: ==========================");
   System.out.println (meta.getDriverName());
   System.out.println ("release " + meta.getDriverVersion() + "\n");

   java.util.Properties props = new Properties();
   DriverPropertyInfo[] info = drv.getPropertyInfo(url,props);
   for(int i = 0; i <info.length; i++) {
      System.out.println ("\n" + info[i].name);
      if (info[i].required) {System.out.print("   Required");}
         else {System.out.print ("   Optional");}
      System.out.println (", default = " + info[i].value);
      if (info[i].description != null)
         System.out.println ("   Description:" + info[i].description);
      if (info[i].choices != null) {
         System.out.println ("   Valid values: ");
         for(int j = 0; j < info[i].choices.length; j++)
            System.out.println("      " + info[i].choices[j]);
      }
   }
FeedbackOpens in a new tab