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

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

暂时总结的要点:

1)服务器要配置正确。

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

2)服务器的listener要启动好

可使用服务器bin目录中的LSNRCTRL start来启动对应。如果已启动,会提示

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

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

4)下载的OracleClient

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

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,暂时一个礼拜,了解了这么多,有真有假,慢慢摸索。

转载于:https://my.oschina.net/ev4n/blog/1635289

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值