C#使用OracleClient链接Oracle数据库小记

依旧使用微软的System.Data.OracleClient对象链接Oracle(v12),由于旧代码的缘由而没有使用比较新的ODP.NET,折腾了几天,最开始一直没有效果,最近两天总算是折腾好了。html

暂时总结的要点:sql

1)服务器要配置正确。服务器

经过“Net Configuration Assistant”将监听程序配置好,在新增监听程序的时候须要区别于已有监听器的额名称(LISTENER)和端口号(默认1521)。同时这个也可在文件(安装目录下\NETWORK\ADMIN\listener.ora)更新,删减。网络

2)服务器的listener要启动好oracle

可以使用服务器bin目录中的LSNRCTRL start来启动对应。若是已启动,会提示测试

3)对应的用户名与密码,服务名称(不是SID)要记得清楚,权限要足够.net

首先以管理员登陆sqlplus更新用户信息,切记切记即将更新的用户名是以C##开头,一样在客户端也是。赋予connnect,resource等权限(暂时还没涉及太多)。htm

4)下载的OracleClient对象

能够从官网下载(须要帐号密码登陆),或者网盘(连接:https://pan.baidu.com/s/1IOijGWMOYVv-S3OZsjAn7g 密码:7lvl)解压后里面有这个文件夹:instantclient_12_2)的版本要对,不然会提示版本问题,貌似与编译对象的版本有关,没有测试与服务器版本的关系(按理说是无关的,反正是网络嘛)。将这个文件夹路径放写入PATH环境变量,或者拷贝三个dll(oci.dll,oraociei12.dll,oraons.dll,其中第二个有190M之巨)到程序运行目录(子目录貌似不行),基本上就完成了。blog

5)链接字符串使用

注意user_name,password,ip_host,service_name,能够查看服务器的tnsnames.ora中对应服务的字符串

User ID=user_name;Password=password;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = ip_host)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = service_name)))

参照了不少,包括 C# 使用OracleClient连接的新方式 C# 链接 Oracle 的几种方式,Oracle 12C 新建用户为何要在用户名前加C##?

没接触过Oracle,暂时一个礼拜,了解了这么多,有真有假,慢慢摸索。

相关文章
相关标签/搜索