导致报错的操作
- 在已安装了
oracle11g
版本后再安装oracle9i
客户端 - 在安装了
oracle11g
后修改了主机名称
解决方法
- 修改配置文件的主机名称
可能是因为你的Oracle文件配置的主机名称出了问题,在你的Oarcle安装路径D:\app\lenovo\product\11.2.0\dbhome_1\NETWORK\ADMIN
下找到listener.ora
,
将HOST
的值修改成你自己电脑的名称(右键我的电脑,属性,查看主机名称) - 配置环境变量
ORACLE_HOME:D:\app\lenovo\product\11.2.0\dbhome_1
TNS_ADMIN:D:\app\lenovo\product\11.2.0\dbhome_1\NETWORK\ADMIN
- 修改注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOraDb11g_home1TNSListener
注册表的ImagePath值,D:\app\lenovo\product\11.2.0\dbhome_1\BIN\TNSLSNR
中没有’.exe
’,所以也加上后缀;
4. 重新配置监听程序
删除 D:\app\lenovo\product\11.2.0 \ db \ NETWORK \ ADMIN
下的listener.ora
文件
选择Net Configuration Assistant
监听,一直无脑下一步,新建了个listener.ora
文件,启动OracleOraDb11g_home1TNSListener
服务还是报错,但是此时多了个OracleTNSListener
服务,可以正常启动,然后试着ODBC
和数据库连接,还是报错
5. 重启数据库
sqlplus / as sysdba
startup force
再重新连接数据库和ODBC
,就没有问题了他
原文链接:https://blog.csdn.net/dwj901125/article/details/9009617