- 需求: 在xp系统,.netFramework2.0 版本下,使用oracle数据库。
- 之前开发的项目中也有用到Oracle数据库,所以直接将原来封装操作Oracle数据库的代码拿来用。发现编译项目时报错,无法加载"Oracle.ManagedDataAccess.dll"。
- 以为这个dll有问题,就去.NuGet 下载最新版本下载地址并且描述信息上,并未标注支持的.netFx 版本。由于是离线下载
,下载后进行安装如下图所示 - 在菜单栏,找到“工具”-----》NuGet包管理器------》程序包管理器设置,打开如下对话框。
在上面图中,注意红色标记,下面两个输入栏,“名称”不用改
,“源”输入包的路径即可。
5. 安装包
选择需要安装的项目,点击安装,跟着提示进行。
6. 竟然安装失败。也就是说Oracle.ManagedDataAccess 不支持.netFx2.0版本,可是为啥Nuget下载页面并没有提示其依赖版本呢,NuGet解释
anyway, 就是说有些包并没有说明其支持的.netFramework,你可以通过尝试安装这个包,得知是否支持。
- 因为运行程序的机器是XP系统,所以不打算升级.netFramwork,就考虑两种方式:
a。 采用ADO.net 方式, System.Data.OracleClient.dll 来连接Oracle数据库,但是要在运行程序的机器上安装Oracle客户端。
b。 采用 Oracle Data Provider for .NET (ODP.NET) 来连接Oracle,并且这个组件必须支持.netFramework2.0版本
想了想还是用b方式,主要是两点:
Microsoft 宣布其 不再支持 System.Data.OracleClient
在运行程序的机器上安装Oracle客户端有点烦
百度时看到Oracle’Data’Access,然后看到Oracle.DataAccess.dll支持.netFX2.0 - 到Oracle找到ODP.net 使用入门
点开图书教程,看到可以直接使用Oracle.DataAccess.dll,并且有详细代码说明。
9.项目添加Oracle.DataAccess.dll,编译成功。
备注: 官网和帮助文档真的很赞。