plsql 可不可以直接远程连接服务器?都说要安装客户端,记得以前用过个什么sql deveplore 什么的工具,不用安装客户端的,而且是绿色软件来的,我就想,一定就办法,不用这么麻烦安装客户端的。上网找了找,下面把我的实践详细过程记录下来,希望 对大家有帮助,有什么不对的,请大家多多评论,指出来。
1、在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll (可能服务器没有,如果没有则pl sql 随便用户名密码可以登陆)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%\network\admin下)放在上面的目录D:\oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操 作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装 了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找 tnsnames.ora文件。
4、设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)
(本步骤暂时要做对,如果编码不对,会产生乱码)
5、下载并安装PL.SQL.Developer配置应用
配置tools->preferences->connection
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
6、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
问题解决办法:
字符集查询: select userenv('language') from dual
配置简体中文字符集: 右击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”-
ORA-12557: TNS:protocol adapter not loadable
打开plsql,连接oralce,报了这个错:ORA-12557,网上找了一大堆,都不是我的出现问题的原因,搞了一下午,实在搞不定了,找公司大神一看,大神直奔主题,点开plsql中的,帮助->支持信息,看到Preferences中的OCI Library用的11g的oci.dll,一目了然。
于是打开Preference Files中的2个Default.ini文件查看,把OCIFile改掉成9i的路径(OCIFile=D:\Oracle9i\ora90\BIN\oci.dll),搞定。
plsql连接oracle数据库报ora 12154错误解决方法
今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符"
解决方法如下:
1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听
客户端:tnsping
服务器Linux下:
#>lsnrctl status 查看监听状态
#>lsnrctl start 启动监听
2.通过Sql Plus连接一下试试,如果Sql Plus连接能成功,那就说明你的tnsnames.ora内容有错误 我的问题就在别名dev_db前面有一个空格,这个可以通过文本编辑器(Edit Plus,UE等)来查看是否有空格,只要有空格那就肯定是不行的,而且如果那段内容是出现在文件的中间的话,将导致该文件里所有相应的连接别名都不成功,如果是在最后面就只有其自身连接别名不能成功,其他连接别名还是能连接成功。(注:我的tnsnames.ora配置了多个数据库实例的连接,所有才有多个连接别名。)
如: 空格
复制代码 代码如下:
dev_db =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521)))
(CONNECT_DATA =
(SID = ora10)
)
)
3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。 说明一下:那个目录里的文件是在你建立连接的时候动态生成的,不要怕删了会有问题
4.进入PLSQL Developer的主界面,在登录界面选择取消即不登录进入主界面,然后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(连接),对应设置窗口中,找到Oracle Home(Oracle主目录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。
我是使用第二种方法解决的。
-----------------------------------------------------------------------------------------------------------------------------------------------
TNS_ADMIN tnsnames.ora
ORACLE_HOME =E:\software\OracleClientBin
Path=%ORACLE_HOME%
TNS_ADMIN = %ORACLE_HOME%
LD_LIBRARY_PATH = %ORACLE_HOME%
SQLPATH =%ORACLE_HOME%
NLS_LANG = AMERICAN_AMERICA.ZHS16GBK(或SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
AMERICAN_AMERICA.JA16SJIS