簡體   English   中英

從asp.net核心連接到Oracle數據庫

[英]Connect to Oracle database from asp.net core

首先,我已經閱讀了有關連接到Oracle數據庫的其他帖子,遺憾的是他們無法幫助我。 我將描述我所嘗試的內容,並希望有人可以指出我正確的方向。

首先我嘗試安裝ODTwithODAC122010,正如許多消息來源所說的那樣,但是這個給了我一些退出非零退出代碼的過程。 它說它很成功,但似乎沒有任何改變。

在我旁邊嘗試安裝ODTforVS2017_122010.exe我有一個更新的Visual Studio專業人員。 它說安裝是成功的。 然而,這似乎沒有像教程描述那樣添加任何選項。 有了這個,我的意思是應該有一些可見的東西;

visual studio工具 - >連接到數據庫 - > Oracle數據庫,數據提供者菜單應該有類似Oracle的東西..這不顯示不幸...

所以我嘗試連接到我的visual studio項目中的數據庫,為oracle選擇.net框架數據提供程序。 這里要求三個字段:服務器名稱用戶名和密碼。 我嘗試填寫它們但它無法連接。 對於我使用的服務器名稱:IPADDRESS:PORT / SERVICENAME

之后,我放棄了通過visual studio連接到數據庫的希望(我可以使用oracle SQL開發人員連接到數據庫)。

然后我安裝以下nuget包: - 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,您的建議和幫助將不勝感激!

確切地說,

  1. 右鍵單擊您的項目
  2. 轉到管理NuGet包
  3. 搜索Oracle.manageddataaccess.core。 您將獲得Nuget包2.12.0-beta2版本。 添加它。
  4. 在頁面中,導入如下以訪問oracle類

    使用Oracle.ManagedDataAccess.Client;

這是Oracle數據訪問提供商的測試版,PROD版本應該在2018年第三季度末提供。

目前沒有針對.NET Core的ODP.NET支持,它假設將在去年發布,但幾周之前沒有新聞,而且它正在推出來自ODP 推特賬戶的推文

您可以通過將項目從.netcoreapp2移動到net461或更高目標框架來使當前版本工作,但它會從項目中刪除跨平台支持。

要將項目移動到.net461或任何其他項目,請按照以下步驟操作:

  1. 編輯csproj文件並用net461替換TargetFramework
  2. 如果您有一個Web項目,則刪除Microsoft.AspNetCore.All包並安裝Microsoft.AspNetCore (應下載其他依賴項)。

在提出這個問題時,沒有司機Roy Sanchez回答這個問題。 幾個星期后,驅動程序在oracle網站上發布,並作為一個nuget包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM