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管理対象ドライバ |
|---|---|---|
|
アセンブリ |
|
|
|
ネームスペース |
|
|
|
.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();
}
}