我已在我的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