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或者在包管理器中下载引用即可食用。
结
那就这样吧。
oracle 数据库连接的更多相关文章
- 转 listener.log文件过大导致oracle数据库连接非常慢
数据库(31) 最近发现oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,甚至会无响应. 然后服务器内存一下就飙升到了90%,不是表空间占满了,也不是数据库连接数占满了.重启还是一样 ...
- 成功部署SSIS中含有Oracle数据库连接的ETL包
RT,正式写之前,我想说,真TMD不容易!!! 写博客,责任心,很重要 在百度搜出来的内地博客技术文章(CSDN.ITEYE.CNBLOGS……),大部分都是不全面,只针对一个遇到的问题点的记录,可以 ...
- 银行账户管理系统(oracle数据库连接池,数据库的链接,)
/* * 银行账户管理系统: * 属性:账户id,姓名,金额salary,利息类型: *管理员模块实现的功能: * 1.给用户开户 * 2.查询所有账户信息 * 用户模块实现的功能: * 1.显示用户 ...
- c#与oracle数据库连接池
c#与oracle数据库连接池 在做一个项目,中间要使用webservice和oracle数据库.我在服务端做了用户身份认证,也就是使用session传递用户的登陆信息.在测试时,当用户少的时候,没有 ...
- 单例模式的Oracle 数据库连接应用
新建一个类来实现单例模式的Oracle 数据库连接应用 组织架构如下: 类的具体代码如下: package com.zse.dba; import java.sql.*; //设计模式1:单例模式.保 ...
- window7+wamp环境配置Oracle数据库连接
最近开发需要使用的oracle数据库!翻看了PHP手册,也在网上找了些帖子!功夫不负有心人,花费了四五个小时的时间,终于找到了Oracle的配置方法.下面就讲解下如何配置Oracle数据库连接吧! 附 ...
- Oracle数据库连接、存储过程及调用
Oracle数据库连接.存储过程及调用 1. 定义一个存储过程 create or replace procedure getuser(eid in number, na out varchar, e ...
- oracle数据库连接慢的问题
1.现象 工程为spring+mybatis+xfire,webservice工程服务,实现的接口数据功能 2.修复方法 经过各种尝试: 1.重新部署工程 无果 2.重新部署tomcat ...
- oracle数据库连接无响应的解决
昨天中午时,查询到服务器的数据流水最晚记录是早上8点的,现场查看服务日志很奇怪,日志输出显示挂死在数据库连接这一步.多次调试无果,随后百度发现有资料显示oracle 10.2.1的版本有登录无响应的B ...
- 基于python实现Oracle数据库连接查询操作
使用python语言连接Oracle数据库配置 #coding:utf-8 import cx_Oracle as oracle db=oracle.connect('root/123456@192. ...
随机推荐
- python 打包 exe文件
操作步骤: 先安装pyinstaller,在终端中输入pip install pyinstaller即可. 打包程序: pyinstaller --console --onefile 7.py 在di ...
- vscode 注释后 光标下移(注释后光标快速定位下一行) 仿照idea
VSCode 注释后光标快速定位下一行 1. 安装插件 Multi-command Multi-command 2.打开 Keybinding.json Keybinding.json 左下角齿轮图标 ...
- 跨域测试代码 - console 里面直接就可以测试
跨域测试代码 - console 里面直接就可以测试 var xhr = new XMLHttpRequest(); xhr.open("GET", "https://w ...
- iview 日期组件 清空后验证没报红,需要在onChange 进行单独 validateField,因为空字符串校验没有触发
// 日期组件的 onChange this.yourObj.xxxTime = item this.$refs.yourForm.validateField('xxxTime')
- TornadoFx中的css美化
原文地址:TornadoFx中的css美化 - Stars-One的杂货小窝 TornadoFx中使用类重新对css进行了封装,所以可以用代码的形式来书写样式 说明 除了Text,其他的若是要修改文字 ...
- day08-2-Thymeleaf
服务器渲染技术-Thymeleaf 1.基本介绍 官方在线文档:Read online 文档下载:Thymeleaf 3.1 PDF, EPUB, MOBI Thymeleaf 是什么 Thymele ...
- Java递归实现全排列改进(二)---利用ArrayList实现去重
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test{ priv ...
- RTMP、X264与交叉编译
RTMP.X264与交叉编译 与HTTP(超文本传输协议)同样是一个基于TCP的Real Time Messaging Protocol(实时消息传输协议).由Adobe Systems公司为Fl ...
- 广汽传祺E9上市,3DCAT实时云渲染助力线上3D高清看车体验
2023年5月21日,中国智电新能源旗舰MPV--广汽传祺智电新能源E9在北京人民大会堂举办上市发布会. 发布会现场(图源官方) 为了让更多的消费者能够在线上感受到广汽传祺E9的魅力,3DCAT实时渲 ...
- 一天涨 23k Star 的开源项目「GitHub 热点速览」
在 GitHub 上做过开源项目的小伙伴,可能都经历过截图自己项目 100 Star.1000 Star 的时刻,但有些时候事情发生的太快来不及截图,因为可能一觉醒来就破万了.这件事看似有些天方夜谭 ...