我已在我的PC(註冊表ORACLE_BASE-D:\ oracle \ product \ 10.2.0)上安裝了Oracle客戶端版本10g。 我在下面添加了參考。 System.Data.OracleClient。System.Data.OracleClient需要Oracle客戶端軟件版本8.1.7或更高版本
我收到上面提到的錯誤。 以下是代碼片段。
3210請讓我知道什麼是領域的關注和Iam missing.I是新的組合Oracle和Asp.Net。
我已在我的PC(註冊表ORACLE_BASE-D:\ oracle \ product \ 10.2.0)上安裝了Oracle客戶端版本10g。 我在下面添加了參考。 System.Data.OracleClient。System.Data.OracleClient需要Oracle客戶端軟件版本8.1.7或更高版本
我收到上面提到的錯誤。 以下是代碼片段。
3210請讓我知道什麼是領域的關注和Iam missing.I是新的組合Oracle和Asp.Net。
看起來您正在使用Microsoft oracle客戶端。我建議你使用ODP.net驅動程序,因爲它更可靠。 (我相信微軟客戶端已被棄用也?)
http://www.oracle.com/technetwork/topics/dotnet/index-085163.html
安裝ODP.net驅動程序,在您的項目添加到Oracle.DataAccess一個參考,你是好去!示例代碼(從我的previous post):
using System;
using System.Data;
using Oracle.DataAccess.Client;
static class Program
{
[STAThread]
static void Main()
{
TestOracle();
}
private static void TestOracle()
{
string connString =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST=servername)(PORT=1521)))" +
"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servicename)));"+
"User Id=username;Password=********;";
using (OracleConnection conn = new OracleConnection(connString))
{
string sqlSelect = "SELECT * FROM TEST_TABLE";
using (OracleDataAdapter da = new OracleDataAdapter(sqlSelect, conn))
{
var table = new DataTable();
da.Fill(table);
if (table.Rows.Count > 1)
Console.WriteLine("Successfully read oracle.");
}
}
}
}
編輯:我也遇到了「需要Oracle客戶端軟件版本8.1.7或更高」錯誤之前。我是由於將Oracle客戶端安裝到我的電腦上造成的。如果設置爲使用Microsoft驅動程序,您可以嘗試從計算機上卸載Oracle客戶端(諷刺地)。
我有類似的問題以及@Matt的建議在過去也適用於我。 – gcoleman0828
「我已經安裝了Oracle客戶端10g版本我的電腦」 「System.Data.OracleClient的需要Oracle客戶端軟件版本8.1.7或更高」
您正在使用Microsoft Oracle客戶端和系統的類型。 Data.OracleClient的固定資產的.NET Framework 4.0,並將從.NET http://msdn.microsoft.com/en-us/library/77d8yct7.aspx
入住以後的版本中刪除 如果你仍然在您的計算機上有舊的Oracle客戶端(8或更低)。 PATH變量可能仍然指向較早的Oracle客戶端bin目錄。 如果你從Windows命令行運行'tnsping',並且如果你沒有看到版本10,那麼它仍然默認爲老版本。
在安裝較新的Oracle客戶端之前,首先卸載所有現有的Oracle客戶端總是一個好主意。 然後安裝Oracle數據庫服務器和組織支持的最高版本的Oracle客戶端。
你可能想嘗試Oracle客戶端11克R2並安裝Oracle數據提供程序.NET http://www.oracle.com/technetwork/topics/dotnet/index-085163.html
如果您正在使用的.NET Framework 4.0或更高版本,當你在給Oracle.DataAccess添加引用Visual Studio Project, 請確保該dll是4.xxx,否則瀏覽到您的客戶端位置並選擇4.xxx dll
仍然需要在客戶端計算機上安裝Oracle客戶端軟件以允許連接到Oracle數據庫。數據庫用戶SQL * Net是Oracle數據庫的Oracle連接層。 System.Data.OracleClient
DLL不提供此功能。
您還必須包括對DLL的引用,當您編譯代碼。例如,如果你正在編譯C#程序,命令行應包括:
像爲: - csc /r:System.Data.OracleClient.dll
基本上在這種情況下,System.Data.OracleClient的需要訪問一些不是.Net的一部分的oracle dll。解決方案:
您能正常連接到機器的數據庫嗎?它是否在通向oracle主目錄的環境變量'Path'中? – V4Vendetta
我能夠通過Toad連接到數據庫。另外,Oracle的路徑出現在環境變量中。 –
你可以嘗試授予'ASPNET'到Oracle安裝文件夾和子文件夾的權限,我認爲這可能是問題 – V4Vendetta