You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6中Oracle连接字符串如何指定数据库名称?

Oracle EF连接字符串指定数据库的正确方法

你尝试的Initial Catalog属性在Oracle的连接字符串中是不生效的,需要用以下方式指定目标数据库:

  • 如果是Oracle 12c及以上的多租户环境(CDB/PDB架构),直接在Data Source中替换为目标PDB的服务名即可,示例代码:
    protected override void OnConfiguring(DbContextOptionsBuilder options){
        options.UseOracle(@"Data Source=sampleip:port/目标PDB服务名;User Id=sample; Password=sample;")
    } 
    
  • 若使用传统的SID标识数据库,将Data Source中的斜杠改为冒号,后跟目标SID,示例代码:
    protected override void OnConfiguring(DbContextOptionsBuilder options){
        options.UseOracle(@"Data Source=sampleip:port:目标SID;User Id=sample; Password=sample;")
    } 
    

另外,部分Oracle驱动版本支持直接通过Database属性指定,写法如下:

protected override void OnConfiguring(DbContextOptionsBuilder options){
    options.UseOracle(@"Data Source=sampleip:port;User Id=sample; Password=sample;Database=目标数据库名;")
} 

不过最稳妥的方式还是通过Data Source中的服务名或SID指定目标数据库,这是Oracle连接字符串的标准用法。

内容的提问来源于stack exchange,提问作者Kavi Arshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:58:23