在 navicat 连接的oracle中,调用存储过程 报错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 navicat 连接的oracle中,调用存储过程 报错?相关的知识,希望对你有一定的参考价值。

搜了下,说OCI文件设置有问题,但是用了好久,一直都好用,就突然不好用了,并且数据库能连接上,增删改查都好用,就是运行存储过程时,报这个错为啥?

参考技术A 最好把错误提示写上,存储过程是不是正确的

navicat 连接oracle数据库

打开 navicat  -->工具-->选项-->oci   右侧选择oci.dll 的路径

默认 在 navicat的安装目录下有一个 instantclient 的文件夹 直接选择这个里面的 oci.ll 就可以了

我的 navicat 是 11.1.10 64-bit   instantclient 是 instantclient_10_2 

但是  选择了 navicat 安装目录里的  instantclient 里面的oci.dll 后 连接不上 

报错   :找不到主机名 对象什么的

网上说 要去oracle的官网上下载一个对应的  但是 oracle 官网需要 注册 嫌麻烦

搞了一圈 都没弄好  (sqldevelper 又下载 又配置  还是各种报错  最后放弃了)

最后 只能去oracle 注册 下载oracleclient

由于 我这个版本自带的 oracleclient 和我们服务器上的 oracle 版本 都是 10

so ,也从官网上下了10_2 而且是 64bit

http://pan.baidu.com/s/1jIiFCsm 我下载的 放到了 我的网盘里的地址

下载后 直接把 解压好的 instantclient_10_2 替换掉原来的 同名文件夹(提前备份)

然后 打开 navicat  -->工具-->选项-->oci   右侧选择oci.dll 的路径

然后 退出navicat 重新打开

再试 就好了 

但是 用navicat 连接oracle 有几个问题

 

1、连接的时候 会闪退 而且发生几率比较高

 

 

所以 决定还是换 pl/sql 试一下吧

从网上下载个64bit的plsql developer 安装 

然后 根据网上的教程一步一步配置  但是连接的时候提示 ora:12545 目标主机或对象不存在  

最后 终于搞定了 总结以下要注意的事项:

1、pl/sql中配置 oracle 主目录和oci.dll 位置这个没的说 配置好  

工具 -> 首选项 -> 连接

oracle 主目录: D:\\code\\environment\\instantclient_11_2_64

oci库:D:\\code\\environment\\instantclient_11_2_64\\oci.dll

 

2、系统环境变量

NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

TNS_ADMIN = D:\\code\\environment\\instantclient_11_2_64\\network\\admin

 

 

3、tnsnames.ora 配置 

 tnsnames.ora 文件需要手动创建并进行相应的设置 位置放在  D:\\code\\environment\\instantclient_11_2_64\\network\\admin

 

 

这里要注意:TNS_ADMIN这个环境变量的地址 网上一般 不带 \\network\\admin

下文的 tnsnames.ora 也是直接放到  D:\\code\\environment\\instantclient_11_2_64下的

我也是按照网上一般说的这种方式 配置 才一直出现  ora:12545 目标主机或对象不存在 这个问题

查这个问题 都是说 服务器主机名或者IP地址修改了

后来把  tnsnames.ora  放到 D:\\code\\environment\\instantclient_11_2_64\\network\\admin 下

同时 修改环境变量 地址 加上 \\network\\admin 重新打开sl/sql 登录框里 就可以选择  tnsnames.ora里的配置了

输入用户名密码 选择  tnsnames.ora 中配置的 FESCO_DEV 这个名字 就可以正常登录了 

另:pl/sql 注册码:

1、

Product Code(产品编号):4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz

serial Number(序列号):601769

password(口令):xs374ca

2、

product code :4v6hkjs66vc944tp74p3e7t4gs6duq4m4szbf3t38wq2
serial number:1412970386
password: xs374ca
lincense number :999

 

以上是关于在 navicat 连接的oracle中,调用存储过程 报错?的主要内容,如果未能解决你的问题,请参考以下文章

navicat premium怎么用

怎样在sql语句中oracle调用存储过程

Navicat怎么连接Oracle数据库

如何用navicat连接oracle数据库

Oracle如何创建存储过程和如何调用存储过程

navicat连接oracle怎么去除双引号