将Oracle自治数据库连接到.net实体框架

问题描述 投票:0回答:1

我需要有关将Oracle自治数据库连接到.net核心mvc应用程序的帮助,有没有人尝试过或知道它。

预先感谢

谢谢Shubham Pratap

oracle model-view-controller cloud oci
1个回答
0
投票

评论太长。

下载并提取Oracle云钱包。制作tnsnames.ora文件的备份副本。缩短自治数据库条目的名称(此步骤是可选的。

在sqlnet.ora中添加云钱包目录的路径

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

SSL_SERVER_DN_MATCH = yes

WALLET_LOCATION =
  (SOURCE =
    (METHOD = file)
    (METHOD_DATA =
      (DIRECTORY = "c:\OracleCloudWallet")

    )
  )

2)缩短您在tnanames.ora中选择的自治数据库条目的名称(为方便起见,此步骤是可选的)

tnsnames.ora文件(实际实例名称长于50个字符)

adw_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxx))(connect_data=(service_name=xx))(security=(ssl_server_cert_dn="CN=xxx,......")))

adw_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxx))(connect_data=(service_name=xxx))(security=(ssl_server_cert_dn="CN=xxx,......")))

adw_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxx))(connect_data=(service_name=xxx))(security=(ssl_server_cert_dn="CN=xxx,............")))

3)为TNS_ADMIN创建系统变量以及云钱包DirectRoy的目录路径如果您正确设置了tns_admin变量

从命令提示符C:\echo %TNS_ADMIN%应该打印正确的路径

4)如果以上所有步骤都正确设置,那么您应该可以tnsping tnsnames.ora中的每个条目

您的代码中的连接字符串应像这样

 // Configure ODP.NET connection string
//Data Source is nothing but adb entry in tnsnames.ora i,e adw_high
 optionsBuilder.UseOracle(@"User Id=xxx;Password=xxxxxx;Data Source=adw_high");


// Set TnsAdmin value to directory location of tnsnames.ora and sqlnet.ora files           

OracleConfiguration.TnsAdmin = @"c:\OracleCloudWallet";


// Set WalletLocation value to directory location of the ADB wallet (i.e. cwallet.sso)
  OracleConfiguration.WalletLocation = @"c:\OracleCloudWallet";
© www.soinside.com 2019 - 2024. All rights reserved.