ORA-12154: TNS:could not resolve the connect identifier specified

499 阅读2分钟

前言:

 

在项目中需要连接数据库进行查询、插入、更新等操作,但是在运行程序的时候报了无法连接数据库的异常。

 

项目环境:

 

VisualStudio2008;

Oracle11_2g;

Windows8.1;

 

问题原因:

 

1.未设置好环境变量

2.Vs与Oracle连接异常

3.代码中设置登录账号密码解析错误

4.Oracle数据库与PL/SQL设置问题

 

解决方法:

 

1.环境变量设置

我的电脑——>属性——>高级——>环境变量

1.1ORACLE_HOME:数据库的实例启动所需要的所有的程序和相关的文件(除了数据库外)。
新建一个变量home,再在path中添加:%ORACLE_HOME%\BIN 
变量名: ORACLE_HOME
变量值: ...\product\11.2.0\dbhome_2
或者直接在path中设置:...\product\11.2.0\dbhome_2\BIN
需要下载安装一个32位版本的Oracle Client,因为PL/SQL Deleloper只能识别32的oci.dll。
如果用PL/SQL 登陆,则在Tools->Connection->Oracle Home中配置,指定oracle的地址;


1.2.NLS_LANG:配置客户端的字符集。
变量名: NLS_LANG
变量值: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
查看服务端字符集:select userenv('language') from dual; 

1.3.TNS_ADMIN:监听数据库tns,PL/SQL登陆时才能才能显示其中的数据库连接的信息
变量名  TNS_ADMIN
变量值...\instantclient_12_1\NETWORK\ADMIN


1.4.安装好PL/SQL Develoer后:服务器和客户端都需要进行网络配置才能实现网络连接。
服务器端配置监听器listener.ora,客户端配置网络服务名tnsnames.ora连接数据库的信息配置。

Oracle相关文章

 

2.VisualStudio连接Orace失败报BadImageFormatException

文章连接

 

3.登录账号密码解析错误

3.1断点调试找到Oracle登录时传入参数

3.2检查是否为正确登录用户名密码

3.3将正确的账号密码通过加密后copy到相应位置

 

4.Oracle+PL\SQL

文章连接

 

小结:

 

在经过检查后发现PL\SQL能够连接数据库,并且各项环境变量配置正确,于是通过修改加密账号密码后,解决问题!