zoukankan      html  css  js  c++  java
  • 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或者在包管理器中下载引用即可食用。

    那就这样吧。

  • 相关阅读:
    微信点餐系统(六)-买家端订单(上)
    微信点餐系统(五)-买家端商品
    微信点餐系统(四)-买家端类目
    微信点餐系统(三)-开发环境配置
    微信点餐系统(二)-项目设计
    微信点餐系统(一)-系统简介
    spring学习(02)之配置文件没有提示问题
    spring学习(01)之IOC
    struts2 中的 addActionError 、addFieldError、addActionMessage的方法【转】
    在一个JSP页面中包含另一个JSP页面的三种方式
  • 原文地址:https://www.cnblogs.com/aoximin/p/13900208.html
Copyright © 2011-2022 走看看