Oracle ManagedDataAccess через Nuget - поставщик не возвратил строку ProviderManifestToken

Я получил новую машину, только с Visual Studio 2015 и новейшей .Net Framework, клонировал репозиторий, который обращается к удаленной базе данных Oracle 11g с помощью Entity и Oracle.ManagedDataAccess от Nuget, этот проект работает на других машинах,

Я протестировал удаленное соединение с помощью SqlDeveloper, проверил доступ к порту с помощью telnet и даже создал простую и локальную базу данных Oracle, чтобы исключить любую ошибку, связанную с сетью.

Чтобы подтвердить ошибку, я создал простой консольный проект после статьи Oracle и все еще получил ту же ошибку

Исключение: The provider did not return a ProviderManifestToken string.

InnerException: ORA-01017: invalid username/password; logon denied

У меня не установлен Oracle Client, и, насколько я могу судить, он мне не нужен, потому что я использую Nuget

И да, я абсолютно уверен в пользователе и пароле, как сказано выше, соединение работает при использовании SqlDeveloper

Oracle ManagedDataAccess Nuget

Статья Oracle

Full StackTrace

"data source=OracleDS;user id=PUBLICO;password=PUBLICO;min pool size=1;max pool size=1;Incr Pool Size=1 ----- System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. ---> System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-01017: invalid username/password; logon denied
   em OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, CriteriaCtx criteriaCtx, String affinityInstanceName, Boolean bForceMatch)
   em OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, CriteriaCtx criteriaCtx, String affinityInstanceName, Boolean bForceMatch)
   em OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, CriteriaCtx criteriaCtx)
   em Oracle.ManagedDataAccess.Client.OracleConnection.Open()
   em Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices.GetDbProviderManifestToken(DbConnection connection)
   em System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
   em System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
   em System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   em System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest)
   em System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
   em System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
   em System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
   em System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
   em System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   em System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   em System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
   em System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()
   em System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)
   em BemaHybrid.Library.EntityFramework.DbContextExtended.AdquireUsuarioSenhaBaseadoUsuarioPublico() na D:\\Projetos\\hybrid.cliente\\BemaHybrid.Library.EntityFramework\\DbContextExtended.cs:linha 42"

ОБНОВИТЬ

Нашел этот вопрос, который прибил ответом, настройки реестра Windows, которые зашифровали пароль, в этом вопросе вы можете найти способ отключения в реестре или в конфигурации приложения, если вам нужно

Решение

0 ответов

Другие вопросы по тегам