当我收到ORA代码时,我假设连接已成功打开。但是迁移是失败的,因为可能,提供程序表现为sql Server,而不是Oracle。我认为这是托盘使用“dbo”作为默认模式。
这是我的web.config设置:
<configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <section name="Oracle.ManagedDataAccess.Client" type="OracleInternal.Common.ODPMSectionHandler,Oracle.ManagedDataAccess,Version=4.121.1.0,PublicKeyToken=89b483f429c47342" /> </configSections> <entityFramework> <contexts> <context type="MyProject.Context.MainContext,MyProject.Context"> <databaseInitializer type="MyProject.Context.Config.ContextInitializer,MyProject.Context" /> </context> </contexts> <defaultConnectionFactory type="Oracle.ManagedDataAccess.Client.OracleClientFactory,Oracle.ManagedDataAccess" /> <providers> <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices,Oracle.ManagedDataAccess.EntityFramework,Version=6.121.1.0,PublicKeyToken=89b483f429c47342" /> </providers> </entityFramework> <system.data> <DbProviderFactories> <remove invariant="Oracle.ManagedDataAccess.Client" /> <add name="ODP.NET,Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET,Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory,PublicKeyToken=89b483f429c47342" /> </DbProviderFactories> </system.data> <connectionStrings> <add name="MainContext" providerName="Oracle.ManagedDataAccess.Client" connectionString="Data Source=OracleServer:1521/BRSYSDS;User ID=USER;Password=PASSWORD;" /> </connectionStrings> <!-- other settings --> </configuration>
这里Stacktrace:
[OracleException (0x77e): ORA-01918: user ‘dbo’ does not exist]
OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl,Int32& cursorId,Boolean bThrowArrayBindRelatedErrors,OracleException& exceptionForArrayBindDML,Boolean& hasMoreRowsInDB,Boolean bFirstIterationDone) +652
OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl,Boolean bFirstIterationDone) +39
OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(String commandText,OracleParameterCollection paramColl,CommandType commandType,OracleConnectionImpl connectionImpl,Int32 longFetchSize,Int64 clientInitialLOBFS,OracleDependencyImpl orclDependencyImpl,Int64[]& scnFromExecution,OracleParameterCollection& bindByPositionParamColl,Boolean& bBindParamPresent,Boolean isFromEF) +7480
Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery() +678
System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.b__0(DbCommand t,DbCommandInterceptionContext1 c) +10
1.Dispatch(TTarget target,Func
System.Data.Entity.Infrastructure.Interception.InternalDispatcher3 operation,TInterceptionContext interceptionContext,Action
3 executing,Action3 executed) +72
1 migrationStatements,DbTransaction transaction,DbInterceptionContext interceptionContext) +82
System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand command,DbCommandInterceptionContext interceptionContext) +357
System.Data.Entity.Internal.InterceptableDbCommand.ExecuteNonQuery() +104
System.Data.Entity.Migrations.DbMigrator.Executesql(DbTransaction transaction,MigrationStatement migrationStatement,DbInterceptionContext interceptionContext) +152
System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable
System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable1 migrationStatements,DbConnection connection) +626
1 migrationStatements,DbTransaction existingTransaction) +194
System.Data.Entity.Migrations.<>c__DisplayClass30.<ExecuteStatements>b__2e() +19
System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute(Action operation) +9
System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable
System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable1 migrationStatements) +7
1 operations,IEnumerable
System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId,XDocument targetModel,IEnumerable1 systemOperations,Boolean downgrading,Boolean auto) +825
1 pendingMigrations,String targetMigrationId,String lastMigrationId) +404
System.Data.Entity.Migrations.DbMigrator.AutoMigrate(String migrationId,VersionedModel sourceModel,VersionedModel targetModel,Boolean downgrading) +564
System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable
System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration) +447
System.Data.Entity.Migrations.<>c__DisplayClassc.b__b() +13
System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +422
System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) +78
System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext,Func3 createMigrator,ObjectContext objectContext) +89
1.InitializeDatabase(TContext context) +137
System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext,DatabaseExistenceState existenceState) +116
System.Data.Entity.Database.Create(DatabaseExistenceState existenceState) +218
System.Data.Entity.DropCreateDatabaseAlways