我需要有关将Oracle自治数据库连接到.net核心mvc应用程序的帮助,有没有人尝试过或知道它。
预先感谢
谢谢Shubham Pratap
评论太长。
下载并提取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";