Windows ID 토큰을 사용하여 Oracle 데이터베이스에 연결하려고합니다. 어제 작동했지만 어제 작동하지 않습니다. 이유는 알지 못합니다.Oracle 데이터베이스에 대한 Windows 인증
이 내 코드입니다 :
string ssoConnectionString;
var user = CreateSSOConnectionString(connectionStringBuilder, out ssoConnectionString);
oracleConnectionStringBuilder = new OracleConnectionStringBuilder
{
UserID = user.Identity.Name,
ConnectionString = ssoConnectionString
};
private WindowsPrincipal CreateSSOConnectionString(IConnectionStringBuilder connectionStringBuilder, out string ssoConnectionString)
{
var user = new WindowsPrincipal(WindowsIdentity.GetCurrent());
ssoConnectionString = ConfigurationManager.AppSettings["SSOConnectionString"];
ssoConnectionString = string.Format(ssoConnectionString, connectionStringBuilder.Host);
return user;
}
Connection = new Oracle.DataAccess.Client.OracleConnection();
Connection.ConnectionString = oracleConnectionString.ConnectionString;
Connection.Open(); //Fails on this line
코드가 정확히처럼 보이지 않는,하지만 필수입니다.
을 SSO를 ConnectionString은 다음과 같이의 app.config에 위치한 보인다 :이 오류 메시지입니다 http://docs.oracle.com/cd/E11882_01/win.112/e18754/featConnecting.htm#i1006432
:
여기<add key="SSOConnectionString" value="DATA SOURCE={0};User Id=/;" />
오라클 그 자아가 그것을하는 방법을 설명하는 방법을 보여주는 링크입니다 내가 얻은 :
ORA-1017: invalid username/password; logon denied
나는 모든 것이 잘 보였다. 또한이 오류에 대해 많은 정보를 찾았으며 대부분의 사람들은 오라클 버전 11g에서 암호가 대소 문자를 구분하므로 암호를 제공하지 않는다고 말합니다.
사용자가 비활성화되었거나 로그온 할 권한이없는 것으로 보입니다 – Alex
"Oracle 버전 11g에서 비밀번호가 대소 문자를 구분하므로 비밀번호가 제공되지 않습니다"- ** 이것이 귀하의 사유입니다. 잘못된 사용자 이름/암호 오류가 발생했습니다. ** –
Windows Identity로 로그온하려는 경우 제공 할 필요가없는 모든 사항이 ... – furier