2

EntityFramework4.3を使用してOracleデータベースに接続しているASP.NET4.0アプリケーションがあります。標準的な方法を使用しているため、開発環境での接続は問題ありません。接続文字列はVisualStudioによって生成されました。

問題は、実稼働環境と受け入れ環境ではLDAPを使用する必要があることです。接続を確認し、OracleのSQLDeveloperのLDAPを使用して接続できます。

web.configの接続文字列の構文についてサポートが必要です。それはどのように見えるべきですか?例を見つけることができませんでした。制作と承認に関して、VisualStudioが何かを自動的に生成できるかどうかを確認することができませんでした。

更新:
ローカルのOracleExpressに接続しているこの接続文字列をLDAPを使用する接続文字列に変更するための構文が必要です

<connectionStrings>
    <add name="VoccDbContext" connectionString="metadata=res://*/Entities.Vocc.VoccModel.csdl|res://*/Entities.Vocc.VoccModel.ssdl|res://*/Entities.Vocc.VoccModel.msl;provider=Oracle.DataAccess.Client;provider connection string=&quot;DATA SOURCE=localhost:1521;PASSWORD=somePassKey;PERSIST SECURITY INFO=True;USER ID=someUser&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
4

3 に答える 3

3

他の誰かがそれを必要とするかどうか答えるため。解決策は比較的簡単です:

LDAP.ORAファイルは正しいLDAPパラメータで変更する必要があります

DIRECTORY_SERVERS=(tnsnames.somesite.org:389:636)
DEFAULT_ADMIN_CONTEXT="dc=site,dc=com"
DIRECTORY_SERVER_TYPE=OID

接続文字列よりもLDAPがない場合の状況に似ています

 <connectionStrings>
    <add name="VoccDbContext" connectionString="metadata=res://*/Entities.Vocc.VoccModel.csdl|res://*/Entities.Vocc.VoccModel.ssdl|&#xD;&#xA;        res://*/Entities.Vocc.VoccModel.msl;provider=Oracle.DataAccess.Client;provider connection string=&quot;DATA SOURCE=sameDbName;PASSWORD=somePass;USER ID=someUser;&quot;"         providerName="System.Data.EntityClient" />
</connectionStrings>
于 2012-07-27T10:01:20.207 に答える
0

ユーザー名に「/」を使用し、パスワードを空白のままにすると、Windows認証に変わります。

これは、 Windows認証を使用したOracleデータベースへの接続に関するMSDNの記事です。この質問は、ユーザーがODP.NETとその修正を使用してOracleデータベースに接続できない問題に対処します。

App.Config接続文字列の1つが、Windows認証を使用して接続する場合は次のようになります。

 <connectionStrings>
      <add name="EntityFrameworkEntities" connectionString="metadata=res://*/EntityFrameworkModel.csdl|res://*/EntityFrameworkModel.ssdl|res://*/EntityFrameworkModel.msl;provider=Oracle.DataAccess.Client;provider connection string=&quot;DATA SOURCE=EntityFrameworkDatabase;PASSWORD=;USER ID=/&quot;" providerName="System.Data.EntityClient"/>
 </connectionStrings>
于 2012-07-19T11:40:19.220 に答える
0

また、oraclehomeフォルダー/ network/adminに次の内容のsqlnet.oraファイルが必要です。

# sqlnet.ora Network Configuration File

SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (LDAP,TNSNAMES,EZCONNECT)

および次の内容のLDAP.ora

DEFAULT_ADMIN_CONTEXT = "dc=world"
DIRECTORY_SERVERS = (server1.x.com:389:636, server2.x.com:389:636)
DIRECTORY_SERVER_TYPE = OID

Ldap.oraヘルプ

于 2014-11-18T13:46:06.980 に答える