2016-10-24 20 views
5

私は助けが必要です!私はタイトルが重要なのか分からないので、私はより良く説明しようとします。Entity Framework - Oracleプロバイダとの動的接続文字列を使用

私は、ASP.NET Web APIサイトへのHTTPリクエストを使用するアングルWebサイトで作業しています。 私のデータベースはOracleデータベースです。 私は(私は、IPと本当に関する情報を交換し(私のweb.configファイルで)ハードコーディングされた接続文字列

<add name="UserConnection" connectionString="DATA SOURCE=ip:port/name;PASSWORD=pwd;PERSIST SECURITY INFO=True;USER ID=usr" 
    providerName="Oracle.ManagedDataAccess.Client" /> 

とEntity Frameworkの(データベースファースト)を使用し、ポート;名; PWD、USR、私はできませんので、このすべてが動作しているが、今、私のチームは動的なユーザーIDと

目標は、と私の角度のアプリにログインしているパスワードを使用して、このOracleの接続文字列を持ってできるようにしたいと考えて

)それらを表示1人のユーザーの資格情報とOに接続する同じ資格情報でDBを争うしたがって、私はこのハードコードされた接続文字列をもう使用することはできません。 )(ベース最初のパラメータ::に接続文字列を与え、Dbcontextクラス:

が、私は別の私のデシベルのコンストラクタを作成しようとしました(作成した場合、ユーザーは、DBのユーザーテーブルにとOracleユーザーテーブルの両方です)

パブリック部分クラスDB:DbContext {

公共DB(文字列れたconnectionString):塩基(れたconnectionString){}

...}

ここでconnectionStringは私のweb.configにあるものと同じものです: "データソース= ip:ポート/名前;パスワード= pwd;パスワードセキュリティ情報=真;ユーザーID = usr"

エラー:

「供給のSQLConnectionは、初期カタログまたはattachdbfilename神託を指定していない」

私は私providerNameで(「Oracle.ManagedDataAccess.Clientを与えていないので、これが動作していないと思います")ベースの最初のparamで、私はproviderNameの2番目のパラメータを受け入れるコンストラクタを見つけませんでした。

は私もこれを試してみました:

公共デシベル(文字列れたconnectionString):ベース(新しいOracleConnectionの(れたconnectionString)){}

が、Visual Studioは、私にそのエラーが得られます。

"Erreur CS1503引数1:Oracle.ManagedDataAccess.Client.OracleConnection 'en' System.Data.Entity.Infrastructure.DbCompiledModel '"

私はDbCompiledModelが何であるか分かりません。多分、それを鍵にしているのでしょうか、まったく間違っているかもしれません。

また、web.config接続文字列を編集して、ユーザーとパスワードを変更し、この接続文字列を使用するデフォルトのdbコンストラクタを使用しようとしましたが、このファイルを編集しても何もしません。接続文字列は、 db要求は終了し、アプリケーションをリロードします。

私はそこでは少し失われています、私はちょうどFrontEndをやっていたいくつかのBackEndアプリを始めました(私はインターンシップに入っています)。

読んでいただきありがとうございます。少し時間がかかります。私はソニー

答えて

3

自分で尋ねてみて、私は、私は、フォーラムで成功した結果と探していたものを見つけられませんでしたあなたは、動的に new OracleConnectionを設定することもできますが、 truecontextOwnsConnectionを設定する必要があります。

"Erreur CS1503引数1:変換不可能デ・Oracle.ManagedDataAccess.Client.OracleConnection ' 'System.Data.Entity.Infrastructure.DbCompiledModel' エン"

public partial class Entities : DbContext 
    { 
     public Entities() 
      : base(new OracleConnection("DATA SOURCE=Server; PASSWORD=123;USER ID=SYSTEM"), true) 
     { 

     } 
     } 
+0

これはあなたのエラーを解決しますどうもありがとう !それは私が必要としていたものです! –

関連する問題