我们静配系统之前都是引用微软自带的Data.OracleClient.dll来作为程序链接数据库的工具,

但是它有一个缺点,需要客户端安装oracle驱动,并且还需要区分32位和64位版本,部署起来比较麻烦。
我在做厦门中医院静配项目时,实施反馈过一个情况,一台药师电脑上已经安装了HIS的系统和它对应的oracle客户端,并且也配置好了环境变量,再安装我们系统后,不安装客户端的情况下,我们程序会无法运行,而安装了我们的oracle客户端后,his系统又无法启动,而我不在现场,仅根据实施描述的情况,也无法彻底解决此问题。
于是,决定用 Oracle.ManagedDataAccess.dll 替换掉 Data.OracleClient.dll。
这种方式有几个优点:①不用安装Oracle客户端;②不用区分32bit还是64bit;③使用简单方便,可通过Nuget直接引入;④对EF和.Net Core提供了支持。
替换过程也很简单,程序里去掉原来的Data.OracleClient.dll, 再通过Nuget搜索Oracle.ManagedDataAccess引用进来,只需更改掉数据库连接字符串和个页面引用的命名空间即可。
不用安装oracle客户端,极大的解决了部署问题,实施不用再在每台机器上安装对应的oracle客户端了。
