在oracle项目建立连接中的各种坑

  • 吐槽甲骨文一波
    • 安装过程中遇到的问题
      • 问题一:下载
      • 问题二:PLSQL工具
      • 问题三:plsql的使用
      • 问题四:接下来到修改VisualStudio里面的web.config的连接字符串啦
    • 接下来到什么了,,,ORA-XXXXX各种代号的问题
      • System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本
      • ORA-12518: TNS: 监听程序无法分发客户机连接
      • ORA-12170 TNS 连接超时
      • ORA-12541: TNS: 无监听程序
    • 暂时写到这,想起来日后再更~

吐槽甲骨文一波

真的是如同甲骨文公司内部员工吐槽的一样, 祖传代码 改一个bug花两天时间定位,再花两天时间调试,安装是坑,连接也是各种坑,对新入门的人来说真的是巨特喵的不友好,完全是浪费时间,网上的各种问题解决也全是复制粘贴,头疼死了,如果你也遇到了和我一样的问题,来吐槽吧!!!

安装过程中遇到的问题

问题一:下载

新人嘛,刚接触oracle,想着支持一波正版,去甲骨文注册了一个账号,由于业务需要,需要下载11g版本的oracle数据库,结果新注册账号半个小时内下载不了,好吧那我就等,半个小时以后到了下载界面,然后死活下不了,发现是忘记勾选这个了:

你说按正常程序猿的思维来讲,大部分人不都是直接拉下去找到自己需要的版本么,这玩意不是应该放在点击下载以后跳出来的界面里面吗???放在开头字体还这么小闹哪样==
…好吧,然后点击文件下载,

握草这下载速度跟隔壁的育碧土豆服务器有的一拼啊,人家土豆服务器好歹还升级了好吧=
=,然后我在找了各种提速方法都不生效以后失去了耐心转投了盗版,,,,那速度,啧啧
哦对了,这几个位置一定要记一下,安装过程会提醒你的,最好新建个记事本记住,我的是放在C盘的

问题二:PLSQL工具

盗版的安装起来挺快的,,,蹭蹭蹭就安装好了,那么问题来了,竟然没有net manager,这难不倒我,找了个类似于Navicat的工具PLSQL Developer版(废话当然也是盗版了嘿嘿嘿),汉化好以后登录是这个样子的,,,

然后我又蒙逼了,明明安装oracle的时候只有个默认实例叫ORCL,输了个管理员密码就没了啊,这个用户名是什么鬼啊喂!!!然后百度,,,也是各种牛鬼蛇神搞复制粘贴的没一个人解决问题,试了N多遍以后找到了默认管理员账号system,密码的话就是安装oracle时候输入的管理员密码了,我真是个小机灵鬼

问题三:plsql的使用

说实话我之前用的是SQLservice和Navicat,这个plsql我是晕得很,界面摸索了半天以后搞懂了一些,接下来讲这个的踩坑了,小伙伴们如果遇到跟我一样的问题要注意了

这个软件很陌生,而且plsql不能创建数据库,如果你的项目跟我一样是用VisualStudio字符串连接的你就要注意了,接下来的步骤一定不能少哦:
1. 新建一个表空间
create tablespace stbss
datafile ‘C:\app\80573\oradata\orcl\stbss_temp01.dbf’
size 100m
autoextend on next 32m maxsize 2048m
分割---------------------------------------
stbss 是表空间名称
D:xxxxx.dbf 是你表空间数据的存放地址和文件名称,具体看你程序安装的时候放在哪,后面的_temp01可以不要,不用学我
size 100m 开始是100M的大小
autoextend on next 32m 不够的话会自动增长32M
maxsize 2048m 最多增加到 2048m,这个根据情况来定,考虑数据多的话可以这个就不要了,改成unlimited
2. 新建用户
说明:identified by后为用户登录密码;
default tablespace为默认表空间;
profile设为系统默认;
ACCOUNT UNLOCK解锁用户;
stbss对应我上一步创建的表空间;
create user TEST
identified by “123”
default tablespace stbss
profile DEFAULT
ACCOUNT UNLOCK;
3. 授予用户TEST访问权限,这个就相当于SQLservice下的你自己数据库的管理员账户了
说明:分别给用户授dba权限和表空间授无限增长权限
grant dba to TEST;
grant unlimited tablespace to TEST;
4. 导入dmp格式的oracle数据库备份文件
接下来这个很重要,你要切换用户,这样导入的数据才会到你新建的表空间下面去,可以点击这里切换用户

你也可以关闭plsql再打开,输入刚刚创建的用户名和对应的密码
导入dmp数据,选择工具-》导入表-》

在你切换用户之前,需要先打开工具-》首选项-》连接-》配置一下这两个,oracle主目录和库,需要到系统环境变量里面添加一个


如下图所示的环境变量,变量名oracle_home,值的话就是之前叫你们保存的软件位置,完事以后在上图的操作界面下拉更新值,然后重启plsql

接下来就是导入dmp数据了,用户那两个都不用管,点击下图所示的按钮,切记一定要用新建的那一个用户来登录操作,点选择要导入的备份文件,然后就等着CMD命令行DuangDuang的跳完这里就搞定啦=_=

问题四:接下来到修改VisualStudio里面的web.config的连接字符串啦

我的有四个,你们有几条改几条,地址可以写localhost,也可以写127.0.0.1,默认端口都是1521,不管你IIS服务器里面配置的是多少,你这里都是1521不要动,改了你就炸了,后面/的是你的那个表空间所放在的数据库实例名,一般都是ORCL,然后后面跟上用户名和密码这个不用我教了吧~~~~

PS:如果你们IIS配置也有问题的话说出来,有空我就更新一下,,,挖个坑=_=

接下来到什么了,,,ORA-XXXXX各种代号的问题

下面的问题不一定是按照我遇到的时间来写的,我是想起什么来写什么啊哈~

System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本

这个问题忘记说了,应该在其它问题之间的,尴尬,,补个坑
网上教的都是修改权限什么的,我都失败了,然后找到了这篇文章https://blog.csdn.net/u011121146/article/details/81626642
1.首先你需要下载一个instantclient_11_2这个,最好是去甲骨文官网下载(←点左边),不然你去其他网站下载被人家注入其他文件就惨了,你的是什么系统32还是64的就自己选择对应的
2.将instantclient_11_2解压到你想解压到的位置,最好是oracle的安装位置外面,解压后里面的oci.dll很重要,然后复制这一个文件夹的目录

3.在系统变量和用户变量中都加入一个变量,地址为刚刚复制的路径,我是偷懒放在C盘根目录,别学我
系统变量:在Path中,加入dll的路径;C:\instantclient_11_2;
用户变量:新建一个ORACLE_HOME,也是这个路径:C:\instantclient_11_2;
4.重启电脑,一定要重启哦,不然变量不生效,然后,这个问题就解决啦

ORA-12518: TNS: 监听程序无法分发客户机连接

原理我就不讲了,网上一大堆,懒得复制粘贴,我只讲操作
打开plsql-》左上角的 文件-》新建-》SQL窗口
然后把下面这些复制粘贴进去执行

alter system set processes=1000 scope = spfile;
alter system set sessions=1105 scope = spfile; //记住有S!!!是sessions
alter system set sga_max_size=1000M scope = spfile;
alter system set sga_target=1000M scope = spfile;

忘记截图了,一定要重启这一个服务,内网测试还是外网测试,如果你改过IP地址,一定要来重启这个服务,因为当你多人连接或者改过IP的时候,他会报示例名称错误,一大堆,为了保险起见监听和Agent服务也重启一下,反正这几个都重启一遍就对了O(∩_∩)O哈哈哈~

然后就OK了

ORA-12170 TNS 连接超时

  1. win+R打开CMD,输入ipconfig找到你的IPV4地址
  2. 输入 ping IP,也就是你刚刚找到的IP地址,看看能不能ping通
  3. 输入tnsping IP,这个是看你的oracle监听配置正确了没有,如果正确应该是如下图所示,出现OK(0毫秒)是没问题的,如果有问题的话你就需要配置监听文件和tns文件了,这个待会再讲
  4. 输入netstat -na,查看1521端口有没有开启,如果状态是ESTABLISHED不用担心是开启的
  5. 如果你的1521端口是关闭的,那就去Windows安全中心(也就是防火墙)开启
    https://jingyan.baidu.com/article/624e745902cebc34e9ba5a58.html
    参考例子,把示例的4000换成1521就行了
    如果上面的步骤都没问题了,还是出现这个问题的话,检查你的本机PLSQL能不能连上,如果能,那就是你的连接字符串有问题,如果本机PLSQL连不上,就重启Oracle的所有服务,然后检查本机监听和服务host有没有配置正确

ORA-12541: TNS: 无监听程序

这个的话需要修改下面这两个文件

因为我的没有net manager,就只能手动配置了,以记事本的方式打开


上面两个图里面的HOST非常非常重要,一定要改成一模一样的,可以是localhost,也可以是127.0.0.1。也可以是你当前电脑的名字,在计算机属性里面找到,如果你漏了哪一个没改,就会报错,烦得很,最好是改成上面你ntsping IP时候的哪一个,就像下图里面被我涂抹的IP地址一样,无论如何两个文件里面的HOST的值一定要改成一模一样的,强烈推荐用计算机名,因为我的是改成这个才生效的,,,

暂时写到这,想起来日后再更~

第一次写博客~.

// 本文第一次更新、编辑
var data = '2019年7月11日17:49:29';
// 本文第二次更新、编辑
var data2 = '2019年7月16日14:42:10';

(Oracle踩坑指南)项目建立连接的各种坑 ORA-12541: TNS: 无监听程序等等相关推荐

  1. 连接Oracle时报错ORA-12541: TNS: 无监听程序

    前两天用PL/SQL远程连接机房的Oracle数据库的时候,突然发现系统提示报错ORA-12541: TNS: 无监听程序, 然后各种在网上找解决办法,依次进行排除,首先打开SQL Plus发现访问数 ...

  2. oracle数据库连接时报12514_连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程...

    在用PL/SQL Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图: 发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟 ...

  3. oracle12541 linux,PLSQL连接Linux上的oracle数据库出现,ORA-12541 TNS 无监听程序

    PLSQL连接Linux上的oracle数据库出现,ORA-12541 TNS 无监听程序 外部的PLSQL无法连接Linux上的oracle数据库,出现ORA-12541 TNS 无监听程序错误.待 ...

  4. 连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序重启后提示出现ORA-01034和ORA-27101

    1 windows上安装Oracle的客户端. 2 确保linux服务器上的1521端口开放 3 看你的window机器是够能够ping同linux服务器的ip地址 4 在windows中的Oracl ...

  5. oracle12541无法连接,“Oracle 连接报错:ORA-12541: TNS: 无监听程序”解决方案

    环境描述: Oracle数据库部署在远程机器虚拟机上,本地配置Oracle网络配置,通过PL/SQL连接数据库: 本地已经配置了Oracle Net Manager文件,但是测试后,连接不上Oracl ...

  6. 连接ORACLE数据库提示:ORA-12541: TNS: 无监听程序

    背景 在连接ORACLE数据库提示:ORA-12541: TNS: 无监听程序问题,在网上搜了许多文章使用了很多方法,比如重启监听,重启数据库等都无效 解决方案 1.检查listener.ora中的h ...

  7. oracle连接 无监听程序,“Oracle 连接报错:ORA-12541: TNS: 无监听程序”解决方案 | 学步园...

    环境描述: Oracle数据库部署在远程机器虚拟机上,本地配置Oracle网络配置,通过PL/SQL连接数据库: 本地已经配置了Oracle Net Manager文件,但是测试后,连接不上Oracl ...

  8. 连接oracle数据库出现“ORA-12541:TNS:无监听程序”解决方法

    安装了oracl数据库后,使用油桶工具进行数据库连接时,出现了"ORA-12541:TNS:无监听程序"的错误解决方法. 原因是:这两个服务没有开启! OracleOraDb10g ...

  9. 解决因改变oracle数据库的IP地址引起的“ORA-12541:TNS:无监听程序”

    解决因改变oracle数据库的IP地址引起的"ORA-12541:TNS:无监听程序" 转载https://blog.csdn.net/amanda04/article/detai ...

最新文章

  1. 【Project Euler】530 GCD of Divisors 莫比乌斯反演
  2. 大致了解写java聊天器所需要的技术
  3. anaconda中的python如何进行关联分析_浅析python,PyCharm,Anaconda三者之间的关系
  4. C语言strncmp()函数(把 str1 和 str2 进行比较,最多比较前 n 个字节)
  5. 免费的400GB网络存储空间
  6. 御龙在天找回以前的服务器,奋起直追!掉队系统找回经验
  7. linux io映射,【原创】Linux 文件系统移植全解密以linux-2.6.35内核源码为例说明一下IO静态映射的过程...
  8. 北语19秋计算机应用基础作业答案,北语18秋《计算机应用基础》练习1满分答案...
  9. 计算机硬件外围设备介绍,天津2012年自考“计算机外围设备使用与维护”课程考试大纲...
  10. linux 临时文件 清理,Linux临时文件的清理
  11. docker安装tomcat下的日志查看
  12. 中专考的计算机一级b有用吗,白城计算机一级B资格证真实可查么
  13. 请求 Provisional headers are shown 问题
  14. 中位数技巧(推理+证明)
  15. 三代测序组装软件-----La Jolla Assembler软件运行
  16. 慕课网前端JavaScript面试(4)
  17. 科技驰援 攻坚战疫 | 用友助力武汉协和医院部署捐赠物资管理系统,保证“物尽其用”...
  18. leetcode 968 监控摄像头
  19. SQL中的连接查询与嵌套查询
  20. 这些东西别晒到朋 友 圈,小心惹来祸!

热门文章

  1. Bootstrap4官方文档 | v4核心 -- 组件(一)
  2. 解决Mac版百度五笔删除百度拼音电脑重启后输入法菜单中还存在的原因及解决办法
  3. 主要的排序算法——Java实现
  4. steam csgo 设置默认的启动项
  5. c#输入三个数选出最大的_c# 如何获取三个数字中最大值呢?
  6. 云闪付APP内嵌H5监听左上角X关闭事件
  7. 基于Spring+SpringMVC+Mybatis开发电影院订票系统前后台
  8. 冒险者传说pc6java_我的世界冒险者传说地图
  9. 什么时候用断言(assert)?
  10. java 断言 assert 详解:断言开启、断言使用