oracle 数据库连接
前言
关于oracle 数据库如何连接,我一开始以为和mysql 和 sql server一样,写好连接语句然后调用相应的dll。
知道我遇到了两个错误:
1.64位程序不能去驱动32位客户端
2.ORA-06401: NETCMN: 无效的驱动程序指示符
第一个可以在iis 中的应用池配置32位程序支持,然后就不会报这个错误。
但是呢,可能64位和32位的驱动程序指示符不一样然后依然报错,网上说要去下载对应的客户端。
然后呢,我大概了解了一下oracle 数据库的连接方式,它的一个调用方式,原理我们的程序会去调用客户端下面的程序(所以客户端需要配置),所以如果客户端安装错误,或者说客户端是32位而我们程序dll是64位也可能保存。
那么我就想有没有不要驱动的呢,那么来看下oracle 连接的一个历史过程。
正文
Oracle的Oracle.DataAccess.Client
其实也是一个比较完美的方式,那就是吧oracle 安装,目录下的dll,引用到自己的程序中。
连接字符串是user id=xxx,下面介绍微软的是user=xxx。
优点是:
1.不在安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开)
2.不需要配置TnsNames.Ora文件
那么有什么缺点呢?就是我们程序64位,那么得找到oracle 64位Oracle.DataAccess.Client,32位去找到32位的,而且版本要对上,也不是单纯的去oracle 数据库下面找就可以。
微软的System.Data.OracleClient
在编程界,微软的名声并不好,为啥子呢?因为坑啊,很多东西维护到一半觉得没有维护的必要了,就赶紧撤离。
就是要配置客户端,然后不建议使用,而且微软也说了,提示过期,刺激吗?所以没有介绍得到必要,除非一些老项目中,作为了解即可。
Oracle.ManagedDataAccess.dll
这种是推荐的方式,也是我最后用来作为解决方案的一种方式。
因为oracle 体恤到开发人员的痛苦,要去找Oracle.DataAccess.Client,所以人家干脆就集成了一把,这就很好了。
使用方式就是下载Oracle.ManagedDataAccess.dll或者在包管理器中下载引用即可食用。
结
那就这样吧。
相关文章
- Windows下Oracle 11g创建数据库
- oracle SQL Develop导出数据库中的表格数据到excel
- 问题-DelphiXE10.1 FireDAC联接oracle数据库方法
- 【Oracle】使用hanganalyze 命令分析数据库hang【转】
- 【ORACLE】ORA-00245: control file backup operation failed
- Windows Server 2008 下ASP程序连接ORACLE数据库驱动错误
- 解决Oracle ORA-00984: column not allowed here
- cx_Oracle连接oracle数据库
- ORACLE认证
- JDBC连接oracle RAC数据库配置
- jdbc连接rac的oracle数据库
- Oracle数据库中违反唯一约束的处理
- cx_Oracle连接oracle数据库
- 2013年7月14日-Java连接Oracle数据库
- C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
- C#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)
- Oracle数据库备份与恢复的三种方法
- Oracle :一次数据库连接,返回多个结果集
- oracle 判断列是否在数据库中存在
- JAVA连接ACCESS、MYSQL、SQLSEVER、ORACLE数据库
- ORACLE数据库常见问题汇总
- 【ORACLE性能分析和优化思路学习笔记01:为什么会出现数据库的性能问题】
- Oracle的学习心得和知识总结(二十二)|Oracle数据库Real Application Testing之Database Replay实操(二)
- Oracle的学习心得和知识总结(十三)|Oracle数据库Real Application Testing之Database Replay实操(一)