3

我試圖設置IdentityServer3與Oracle數據庫一起使用。我有MSSQL解決方案,我也需要Oracle變體。如何在Oracle的連接字符串中設置初始目錄?

在初始化期間,我得到以下錯誤。它看起來像提供商達到超時(30-45秒),然後引發異常。

The supplied SqlConnection does not specify an initial catalog or AttachDBFileName. 

System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create中發生錯誤。要在

IdentityServer3.EntityFramework.DbModelBuilderExtensions 
.RegisterScopeChildTablesForDelete[TScope](DbContext ctx) in 
IdentityServer3.EntityFramework\Source\Core.EntityFramework\Extensions 
\DbModelBuilderExtensions.cs 

這裏更具體的是我web.config連接字符串:

<add name="ApplicationDbContext" 
    providerName="Oracle.ManagedDataAccess.Client" 
    connectionString="User Id=xxxxxxx; 
         Password=xxxxxxx; 
         Data Source=OracleDataSource" /> 

這裏是web.config其餘(任意如何與甲骨文)

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
     <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, 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, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
    </DbProviderFactories> 
    </system.data> 

    <oracle.manageddataaccess.client> 
    <version number="*"> 
     <dataSources> 
     <dataSource alias="OracleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE))) " /> 
     </dataSources> 
    </version> 
    </oracle.manageddataaccess.client> 

我怎樣才能將Initial Catalog添加到我的Oracle連接字符串中?

版本

  • IdentityServer3:V 2.5

  • 的EntityFramework:6.1.3

  • 甲骨文ManagedDataAccess的EntityFramework:12.1.4

更新1:

我試圖簡單地增加Initial Catalog我康恩字符串,但它似乎沒有工作(Oracle XE, C++ ADO):

<add name="ApplicationDbContext" 
    providerName="Oracle.ManagedDataAccess.Client" 
    connectionString="User Id=xxxxxxx; 
         Password=xxxxxxx; 
         Data Source=OracleDataSource; 
         Initial catalog=XE" /> 

也許XE是不是我的數據庫的名字嗎?我應該用schema代替嗎?

回答

0

的問題defaultConnectionFactory

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 

OracleConnectionFactory東西更換後繼續前行

<defaultConnectionFactory type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory, Oracle.ManagedDataAccess.EntityFramework" /> 
相關問題