エスケープ文字で区切らずにコロン (:)、アスタリスク (*)、イコール (=)、およびバックスラッシュ (\) などの文字をコマンド構文で使用すると、エラーが発生します。エスケープ文字が必要となる場面は、プラットフォームやシングルモードとマルチモードの違いによって変わります。
UNIX のシングルモードでのエスケープ文字
UNIX では、二重のバックスラッシュ (\\) または二重引用符 (" ") を使用して、予約されている文字をエスケープします。(二重のバックスラッシュ (\\)を使うことによって、バックスラッシュをエスケープします。)
バックスラッシュ(\\) によるエスケープ
たとえば、値にコロンを含むオプションを指定して JDBC データソースを作成するときに、バックスラッシュを使用できます (一部のプロパティに関して環境変数が設定されていることが必要)。
otxadmin create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
userName=scott:password=tiger:dataSourceName=jdbc\\:oracle\\:thin\\:@host1\\:1521\\:ORCL jdbc/Oracle
引用符によるエスケープ
上記の例と同じ内容に対して引用符を使用するには、値を引用符 (") で囲み、さらにこれらの引用符をバックスラッシュでエスケープします。
otxadmin create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
注意:get コマンドとset コマンドでは、コロンに対してエスケープ文字を使用する必要はありません。
userName=scott:password=tiger:dataSourceName=\"jdbc:oracle:thin:@host1:1521:ORCL\" jdbc/Oracle
「プラットフォームを問わないシングルモードでのエスケープ文字」で説明されている方法を使用することもできます。
Windows のシングルモードでのエスケープ文字
Windows では、バックスラッシュを使ってエスケープできます。たとえば、値にコロンを含むオプションを指定して JDBC データソースを作成するときに、バックスラッシュを使用できます (一部のプロパティに関して環境変数が設定されていることが必要です)。
otxadmin.bat create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
userName=scott:password=tiger:dataSourceName=jdbc\:oracle\:thin\:@host1\:1521\:ORCL jdbc/Oracle
「プラットフォームを問わないシングルモードでのエスケープ文字」で説明されている方法を使用することもできます。
プラットフォームを問わないシングルモードでのエスケープ文字
どのプラットフォームでも、バックスラッシュを文字の前に使い、その文字を含む値を二重引用符で囲むことによって、エスケープできます。たとえば、値にコロンを含むオプションを指定して JDBC データソースを作成するときに、次のようにエスケープ文字を使用できます (一部のプロパティに関して環境変数が設定されていることが必要)。
otxadmin create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
userName=scott:password=tiger:dataSourceName="jdbc\:oracle\:thin\:@host1\:1521\:ORCL" jdbc/Oracle
プラットフォームを問わないマルチモードでのエスケープ文字
どのプラットフォームでも、マルチモードで行う場合は、バックスラッシュを文字の前に使い、その文字を含む値を二重引用符で囲むことによって、エスケープできます。たとえば、値にコロンを含むオプションを指定して JDBC データソースを作成するときに、次のようにエスケープ文字を使用できます (一部のプロパティに関して環境変数が設定されていることが必要)。
otxadmin >
create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
userName=scott:password=tiger:dataSourceName="jdbc\:oracle\:thin\:@host1\:1521\:ORCL" jdbc/Oracle
※マルチモードで実行している以外は、「プラットフォームを問わないシングルモードでのエスケープ文字」と、コマンドライン(otxadmin の記述を除く以外)は同じです。また、二重引用符を使わずにエスケープする場合は二重のバックスラッシュが必要になります。
otxadmin >
create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
userName=scott:password=tiger:dataSourceName=jdbc\\:oracle\\:thin\\:@host1\\:1521\\:ORCL jdbc/Oracle
※マルチモードで実行している以外は、「バックスラッシュ(\\) によるエスケープ」と、コマンドライン(otxadmin の記述を除く以外)は同じです。
上記の例と同じ内容に対して引用符を使用するには、値を引用符 (") で囲み、さらにこれらの引用符をバックスラッシュでエスケープします。
otxadmin >
create-jdbc-datasource --dataSourceType JDBCEX_Oracle --jdbcMajorVersion 3
--minPoolSize 16 --maxPoolSize 32 --useJTA --property
userName=scott:password=tiger:dataSourceName=\"jdbc:oracle:thin:@host1:1521:ORCL\" jdbc/Oracle
※マルチモードで実行している以外は、「引用符によるエスケープ」と、コマンドライン(otxadmin の記述を除く以外)は同じです。
シングルモードでのJVM オプションの空白文字
空白を含むJVM オプションを設定するときには、プラットフォームを問わず、JVM オプションの値を引用符 (") で囲むことによって設定することができます。
otxadmin create-jvm-options -Dwo.home="D\:\\wo jvm\\jvm value"
関連情報