Oracle SQL Developer - java.library.path中没有ocijdbc12

时间:2017-02-23 13:20:20

标签: oracle oracle-sqldeveloper

我有一个虚拟机,最新版本的Oracle SQL Developer(包含JDK 8的套件 - 虽然我还是单独安装了它),还有一个11G的Oracle数据库。

我机器上的我的TNS文件没有所有数据库的列表,而是它如下所示(有多个数据库):

> CONN_DATA =   (DESCRIPTION =
>     (ADDRESS_LIST =
>       (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = XXXX))
>     )
>     (CONNECT_DATA =
>       (SERVICE_NAME = Bob)
>     )   )

我尝试使用多种方法连接到其中一个数据库。

  • 如果我使用dbname作为连接标识符选择TNS conn类型,我得到 no ocijdbc12 in java.library.path。我进入了高级设置,并手动指向我的TNS文件以防万一。
  • 如果我选择基本连接类型,则ORCL为 服务名称(也尝试将数据库作为SID),localhost作为主机名或我的数据库的名称,它 无法解决连接。
  • 还尝试使用“CONN_DATA”
  • 使用TNS conn类型和网络标识符

我不知道该怎么做,类似的问题似乎在我的机器上的环境变量问题上解决,但我不确定如何确认。

5 个答案:

答案 0 :(得分:4)

即使这个问题相当陈旧,我也有同样的问题。

原因完全不同。

我没有正确设置网络别名。

转到首选项 - 数据库 - 高级并设置TNSNames目录的路径。

答案 1 :(得分:1)

我通过使用与Gunnar Bernstein相同的路径解决了这个问题。 在SQL Developer“Outils>Préférence>Avancé>Répertoirensnames”(是的,我是法国人。那是'a;)为法国DBA的) 我的旧tnsnames path"C:\oracle" 我将其更新到正确的路径"c:\oracle\product\10.2.0\db_1\NETWORK\ADMIN"。并且,taaataaammmm "Status : success"

答案 2 :(得分:0)

解决方案是仅设置正确的oracle客户端和tns名称目录

仅发布此答案以帮助他人-相同的目录结构可能不同

go to  tools --> preference -->database --> advanced 

在下部

选中->使用oracle客户端

的框

然后单击->配置

如果您的oracle客户端已经正确安装

您将看到客户端类型-> oracle_home 如果您不->选择即时客户端

大多数客户端安装目录为

for oracle 11g

C:\Apps\oracle\Clients\112_64

for oracle 12c 

C:\Apps\oracle\Clients\12102_64

_64代表64位客户端。如果您的客户端是32位->选择_32文件夹

然后在tns名称目录中-放入

C:\Apps\oracle\network\admin

如果这不是您的tnsnames目录->尝试查找

find this filename on your computer -->  tnsnames.ora

答案 3 :(得分:0)

我还发现,如果您使用的是组驱动器上的tnsnames.ora文件-如果Windows“认为”您未连接到驱动器,那么您也会收到此错误。

只需打开Windows资源管理器并“重新连接”到组驱动器,即可解决此问题。

答案 4 :(得分:0)

已解决: SQL Developer正在(c:\ users <用户名>)位置中查找TNS名称文件。我将文件放在该位置,然后重新启动SQL Developer,它开始工作。