我创建了一个控制台应用程序来连接到 Oracle ADW 数据库。当我进行初始迁移时,它完全按照我的预期创建了表。现在,当我尝试查询该数据库上的表时,出现错误:“ORA-12154:TNS:无法解析指定的连接标识符”
我知道它可以连接更新数据库成功。这是我的背景:
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WCONSftpFileUploadChecks.Models;
namespace WCONSftpFileUploadChecks.Data
{
public class OracleDBContext : DbContext
{
public OracleDBContext() : base()
{
}
public virtual DbSet<FileDet> FileDetails { get; set; }
public virtual DbSet<RemotePath> RemotePaths { get; set; }
public virtual DbSet<Peter> Peters { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseOracle(@"User Id=<USER>;Password=<PASSWORD>;Data Source=<SOURCENAME>");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<FileDet>()
.Property(p => p.value)
.HasColumnType("decimal(18,4)");
}
}
}
这是项目结构:
这是我尝试检索数据的方式:
using WCONSftpFileUploadChecks.Code;
using WCONSftpFileUploadChecks.Data;
using WCONSftpFileUploadChecks.Models;
namespace WCONSftpFileUploadChecks
{
public class Program
{
public static void Main(string[] args)
{
using(var ctx = new OracleDBContext())
{
foreach (RemotePath p in ctx.RemotePaths)
{
Console.WriteLine(p.remote_path);
}
}
Console.ReadLine();
return;
}
}
}
这里是它抛出错误的地方:
我故意没有包含模型,因为我认为它不相关。我只是看不出有什么问题。