Search code examples
oracle-databaseentity-frameworkef-power-tools

Unable to reverse-engineer code-first with EFPowerTools Beta2 VS2012


I want to reverse-engineer code first using PowerTools. It works when I reverse engineer from a local MS-SQL database, but not from Oracle DB. I get the following errors in the output console:

  System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> Oracle.DataAccess.Client.OracleException: ORA-1005: null password given; logon denied
   at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
   at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
   at Oracle.DataAccess.Client.OracleConnection.Open()
   at Oracle.DataAccess.Client.EFOracleProviderServices.GetDbProviderManifestToken(DbConnection connection)
   at System.Data.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
   --- End of inner exception stack trace ---
   at System.Data.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
   at System.Data.Entity.Design.EntityStoreSchemaGenerator.GetProviderSchemaMetadataWorkspace(DbProviderServices providerServices, DbConnection providerConnection, Version targetEntityFrameworkVersion)
   at System.Data.Entity.Design.EntityStoreSchemaGenerator.CreateStoreSchemaConnection(String providerInvariantName, String connectionString, Version targetEntityFrameworkVersion)
   at System.Data.Entity.Design.SsdlGenerator.EntityStoreSchemaGeneratorDatabaseSchemaLoader.CreateStoreSchemaConnection(String providerInvariantName, String connectionString, Version& storeSchemaModelVersion)
   at System.Data.Entity.Design.EntityStoreSchemaGenerator..ctor(String providerInvariantName, String connectionString, String namespaceName)
   at Microsoft.DbContextPackage.Handlers.ReverseEngineerCodeFirstHandler.ReverseEngineerCodeFirst(Project project)

I can do normal generation of EF files by right-click project > add > ADO.NET Entity Data Model > choose "from Existing DB" and follow the rest of wizard. I like the powertools better though, for several reasons (mostly the mappings as .cs files). Why can I not reverse engineer when using Oracle? TIA


Solution

  • I'm not sure that I quite understand... It appears you are required to check the "remember password" box BEFORE you attempt to generate the files. (even though without it checked, the test comes back OK!)