Oracle免客户端For .Net(只为用NewLife.XCode开发Oracle的同学服务)

简介: 自从发布了一篇博客Oracle免客户端For .Net(增加分析Devart和DataDirect)后,非常非常多的同学前来问各种Oracle客户端运行时安装配置的问题,严重影响了我们团队的正常工作和日常交流。

    自从发布了一篇博客Oracle免客户端For .Net(增加分析Devart和DataDirect)后,非常非常多的同学前来问各种Oracle客户端运行时安装配置的问题,严重影响了我们团队的正常工作和日常交流。我甚至多次怀疑我是不是不应该发那篇博文,但是又不忍心删除!

    我们写那篇博文的初衷,仅仅是为使用我们的数据映射框架XCode(包含ORM)进行Oracle开发的同学而准备

    只是因为这些技术点对于非XCode用户也有用,所以才发出来。不曾想,给我们自己带来这么多的麻烦。

    这里先为XCode用户做一点补充,非XCode用户请直接跳过,看结尾!

 

1,新版本XCode内置Oracle客户端运行时的环境检测,自动在这些目录查找OCI:当前目录、上一级的OracleClient目录、各个盘下的OracleClient目录

2,XCode支持在连接字符串里面通过DllPath=X:\OracleClient来指定OCI目录

3,如果XCode检测不到任何Oracle客户端运行时,会自动到服务器下载一份,并部署到C:\OracleClient。可以自己拷贝到别的盘去

4,所以,XCode用户可以用MSSQL或SQLite等数据库开发好应用程序,然后部署的时候修改连接字符串为Oracle的连接字符串即可,XCode会为你准备好环境。

5,XCode所支持的各大数据库,只要有连接字符串,就可以工作!

6,除MSSQL外,使用其它数据库全部会自动下载相应的驱动(分x86和x64):Access、SqlCe、SQLite、Oracle、MySql、Firebird、PostgreSQL

7,如果生产环境机器不能上网,可以自己把驱动等相关文件拷贝带走。只有用Oracle时会有一个目录放在C:\OracleClient,其它数据库下载的驱动文件全部放在当前目录。(主要是因为OCI那个目录太大)

8,XCode只做下载驱动来使用,不修改系统环境变量和注册表等任何东西,绝对绿色。

9,如果你只想要一个Oracle客户端运行时,可以用我们代码生成器XCoder上新增的一个功能(“Oracle客户端运行时检查”),它会给你准备好一个可用环境

image

 

最新版XCoder下载链接:http://www.kuaipan.cn/file/id_2378544298616942.html

 

非XCode用户请看:

1,只要有OCI,可以不用安装Oracle的任何东西,就可以连上数据库,可能需要配置一下环境变量和注册表

2,该方法无视任何编程语言,非.Net的也可以。比如那个PL Dev,只需要拷贝OCI,然后选项里面指定oci目录即可

3,如果你怀疑上述两点,你可以不用看本文了

4,OCI.dll的版本和Oracle.DataAccess.dll要求的版本必须一致,不一致就自己凑,找到一致的

5,.Net程序调用Oracle.DataAccess.dll,而Oracle.DataAccess.dll会找OCI.dll,顺序是:当前目录、配置文件指定目录、环境变量Path、系统目录

6,如果上面一点没看懂,只怪你Windows没学好。目录搜索逻辑是Windows开发的基本功。

7,再次重申,所做的一次,配置环境变量也好,配置注册表也好,只是为了找到OCI.dll!!!

8,哦,忘了一点,注意OCI所在目录的权限,也许应用程序没有权限执行OCI.dll。另外注意各个目录配置可能导致的DLL版本冲突。

100,据Oracle官方论坛说,官方即将推出纯托管的驱动,到时候只要一个dll就行,再也没有这么多烦人的事情。如果上面这么多办法都不行,就等等吧。

10000,如果还不行,那就用XCode算了!

 

最后:

    在确定你有仔细阅读、思考这两篇博文的内容之前,请不要打搅我们!仅作技术交流,我们不承担任何后果!

 

欢迎各种.Net及逆向工程的交流,QQ群:1600800

 

我不相信神话,我只相信汗水!我不相信命运,我只相信双手!
相关文章
|
10天前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
44 12
|
8天前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
|
8天前
|
Web App开发 前端开发 调度
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
|
8天前
|
前端开发 JavaScript C#
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET8+Vue3开发的权限管理&个人博客系统
|
8天前
|
网络协议 C#
基于.NET WinForm开发的一款硬件及协议通讯工具
基于.NET WinForm开发的一款硬件及协议通讯工具
|
8天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
2月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
47 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
2月前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
48 4
|
2月前
|
机器学习/深度学习 人工智能 物联网
.NET 技术:引领未来开发潮流
.NET 技术以其跨平台兼容性、高效的开发体验、强大的性能表现和安全可靠的架构,成为引领未来开发潮流的重要力量。本文深入探讨了 .NET 的核心优势与特点,及其在企业级应用、移动开发、云计算、人工智能等领域的广泛应用,展示了其卓越的应用价值和未来发展前景。
65 5
|
2月前
|
存储 缓存 NoSQL
2款使用.NET开发的数据库系统
2款使用.NET开发的数据库系统

推荐镜像

更多