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管理対象ドライバ ODP.NET Core

アセンブリ

Oracle.DataAccess.dll

Oracle.ManagedDataAccess.dll

Oracle.ManagedDataAccess.dll

ネームスペース

Oracle.DataAccess.Client

Oracle.ManagedDataAccess.Client

Oracle.ManagedDataAccess.Client

.NET Framework

4.5, 4.6, 4.7, 4.8

4.5, 4.6, 4.7, 4.8

4.6.1以降

.NET Core

-

-

2.1以降

スレッド安全性

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

// 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();
  }
}