首先,我已经阅读了其他有关连接到 Oracle 数据库的帖子,但遗憾的是它们不能帮助我。我将描述我尝试过的内容,希望有人能指导我正确的方向。
首先,我尝试安装 ODTwithODAC122010,因为许多来源都在说这个,但这个给了我一些进程以非零退出代码结束的错误。它说安装成功,但似乎没有任何改变。
接下来,我尝试安装 ODTforVS2017_122010.exe,我有一个更新的 Visual Studio professional。它说安装成功,但是好像没有像教程中描述的那样添加任何选项。这意味着应该在 visual studio 工具->连接到数据库->Oracle 数据库,数据提供程序菜单中应该有类似于 Oracle for.. 的选项。不幸的是,这并没有显示出来。
因此,我尝试在我的 Visual Studio 项目中选择 .net 框架数据提供程序来连接数据库。这里会要求填写三个字段:服务器名称、用户名和密码。我尝试填写了它们,但无法连接。 对于服务器名称,我使用的是 IPADDRESS:PORT/SERVICENAME
之后,我放弃了通过 Visual Studio 连接到数据库的希望(我可以使用 Oracle SQL Developer 连接到数据库)。
然后我安装了以下 nuget packages: - Oracle.ManagedDataAccess - System.Configuration.ConfigurationManager - System.Security.Permissions - System.Security.Principal
并编写了一段连接到数据库的代码,例如:
using(OracleConnection connect = new OracleConnection(ConnectionDetails.returnConnectionString()))
{
connect.Open();
Console.WriteLine("did it work?" + connect.ServerVersion);
}
returnConnectionString返回:
"User Id=MYID;Password=MYPASSWORD;Data Source=IPADDRESS:PORT/SERVICENAME"
很不幸,当我尝试运行这段代码时,我遇到了一个找不到ExecutionContext.cs的错误。这是在connect.open()处发生的。
我正在以下位置启动此代码:
public static void Main(string[] args)
{
var a = new DatabaseConnector();
a.test();
BuildWebHost(args).Run();
}
作为最后的话,我想明确表明我正在使用ASP.NET Core,非常感谢你们的建议和帮助!