6.8 OracleCredentialクラス

OracleCredentialクラスは、ODP.NETドライバを使用してOracle Databaseとの接続を開く際にパスワードを提供する安全な方法を提供します。このクラスは、Oracle Databaseとの接続を開くときに接続文字列内にクリア・テキストでパスワードを指定しないようにするために使用します。OracleCredentialコンストラクタを介してユーザーID、パスワードおよびDBA権限固有の属性を渡せるため、これらの属性を接続文字列にする必要はありません。

オペレーティング・システム認証およびコンテキスト接続は、OracleCredentialクラスではサポートされません。OracleCredentialコンストラクタのuserIdまたはproxyUserId引数に対して"/"が渡された場合、ArgumentExceptionがスローされます。

クラスの継承

System.Object

      Oracle.DataAccess.Client.OracleCredential

宣言

// C#
public sealed class OracleCredential

要件

プロバイダ ODP.NET管理対象外ドライバ ODP.NET管理対象ドライバ

アセンブリ

Oracle.DataAccess.dll

Oracle.ManagedDataAccess.dll

ネームスペース

Oracle.DataAccess.Client

Oracle.ManagedDataAccess.Client

.NET Framework

4.5, 4.6, 4.7

4.5, 4.6, 4.7

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

// C#
using System;
using System.Data;
using System.Security;
using Oracle.DataAccess.Client;
//using Oracle.ManagedDataAccess.Client;

class OracleCredentialSample

{
  static void Main()
  {
    // Connect
    string constr = "Data Source=oracle";

    SecureString secPwd = new SecureString();
    secPwd.AppendChar('h');
    secPwd.AppendChar('r');

    // Make the password read-only.
    secPwd.MakeReadOnly();

    // Create OracleCredential with userid and secure password.
    OracleCredential oc = new OracleCredential("hr", secPwd);

    OracleConnection con = new OracleConnection(constr, oc);
    con.Open();

    // Execute a SQL SELECT

    OracleCommand cmd = con.CreateCommand();
    cmd.CommandText = "select * from employees";
    
    OracleDataReader reader = cmd.ExecuteReader();
    
    // Print all employee numbers
    while (reader.Read())
      Console.WriteLine(reader.GetInt32(0));
    
    // Clean up
    reader.Dispose();
    cmd.Dispose();
    con.Dispose();
  }
}