Oracle SQL Developer - JDBC驱动程序问题

时间:2017-02-24 11:35:20

标签: oracle jdbc oracle-sqldeveloper windows-7-x64

我已经:

  • Windows 7 x64
  • 我的11G Oracle客户端如下所示 C:\甲骨文\产品\ 11.2.0 \ client_1与
  • 我的SQL Developer(下载包含JDK 8的套件,但是为了以防分别安装了JSK)dir如下 C:\的SQLDeveloper

当我尝试使用TNS进行连接时,我有

  

java.library.path中没有ocijdbc12

如果我去设置 - >数据库 - >高级并手动选择我的Oracle目录我得到了这个:

  

测试位于C:\ Oracle \ product \ 11.2.0 \ client_1的Oracle Home   测试客户端目录... OK测试加载Oracle JDBC驱动程序...   OK测试检查Oracle JDBC驱动程序版本... 失败:最小   需要驱动程序版本11.2.0.3,指定的驱动程序版本是   11.2.0.1.0

所以我考虑升级JDBC驱动程序,但我不能使用check for updates功能,因为它似乎在我的虚拟机中被阻止。

我从SQL开发人员目录中获取了ojdbc7.jar并将其复制到C:\ Oracle \ product \ 11.2.0 \ client_1 \ jdbc \ lib,现在我收到以下错误:

  

测试位于C:\ Oracle \ product \ 11.2.0 \ client_1的Oracle Home   测试客户端目录... OK测试加载Oracle JDBC驱动程序...   OK测试检查Oracle JDBC驱动程序版本... OK驱动程序   版本:12.1.0.2.0测试测试本机OCI库加载...

     

失败:加载本机OCI库时出错本机OCI驱动程序   无法加载。系统propertyjava.library.path包含   来自环境变量PATH的条目。检查以确认
  预期的本机库目录

     

C:\ Oracle \ product \ 11.2.0 \ client_1 \ bin存在且先于任何版本   其他客户端安装。 java.library.path =   C:\的SQLDeveloper \ JDK \ JRE \ BIN; C:\ WINDOWS \太阳\的Java \ BIN; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ ORACLE \产品\ 10.2.0 \ Client_1与\ BIN; C ^ :\ ORACLE \产品\ 11.2.0 \ Client_1与\ BIN; C:\ ORACLE \产品\ 11.2.0 \ client_2的; C:\ ORACLE \产品\ 11.2.0 \ client_2的\ BIN; C:\ Windows \ System32下; C ^ :\ Windows下; C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ ARQDISP \; C:\ PROGRAM   ;

此时不知道我在做什么。你能帮忙吗?

6 个答案:

答案 0 :(得分:1)

缺少司机。所以在我的情况下,我从http://www.oracle.com/technetwork/topics/winx64soft-089540.html安装了Oracle客户端 并相应地设置路径变量。

这是一篇博客文章,展示了如何告诉SQL Developer在哪里以及使用哪个安装客户端:

https://www.thatjeffsmith.com/archive/2014/01/oracle-sql-developer-4-and-the-oracle-client/

重新启动SQL Developer。

答案 1 :(得分:0)

我有类似的问题。从sqldeveloper 4.0迁移到4.1,导入了我的所有连接,但是在4.1中,我会在java.library.path'中得到#ocijdbc12。 我打开了我当前的连接(右键单击任何连接并选择属性),其中所有连接类型都是TNS。
'连接标识符'检查了在那里输入的连接网络别名。我查看了网络别名'复选框并选择相同的名称,然后连接工作 我回到4.0检查我在那里的连接,看起来别名可以正常使用“连接标识符”#39;选择但不是4.1 我必须更新所有连接以使用“网络别名”#。

答案 2 :(得分:0)

加载本机OCI库时出错无法加载本机OCI驱动程序,当尝试连接数据库时,我在java.library.path中没有得到ocijdbc12

对我来说,在创建了一个带有值的新变量ORACLE_HOME后,错误得到了解决....(sql开发人员的文件夹路径) \ jdk \ jre 。然后我在路径变量%ORACLE_HOME%\ bin 的乞讨时添加。

首先我创建了一个系统变量,该变量指向dev express的安装文件夹,但是无法正常工作

答案 3 :(得分:0)

对于数据库,选择连接属性并将连接类型从TNS更改为“基本”,并提供该连接的其他详细信息(服务名称/ SID)对我来说可以解决此问题

答案 4 :(得分:0)

也许可以帮助我了解有关类似主题的帖子的答案:

How to get Sqldeveloper 19.1 64-bit working with instantclient_12_2 on Windows enterprise PC without admin privileges?

所提到的.bat文件显示了您所需要的。 如果您具有更改任何环境变量的管理员特权或权限,那么可能是不使用.bat文件的更好方法。

答案 5 :(得分:0)

  

当我尝试使用TNS进行连接时

     

java.library.path中没有ocijdbc12

我发现的东西真是愚蠢又有趣。

我得到相同的错误,当它可以时和不可以时唯一的区别是...

the TNS definition in tnsnames.ora

只需添加数据库的TNS定义(如果消失,可能会再次添加),例如:

XE.WORLD=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=localhost)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=XE.WORLD)
      (SERVER = DEDICATED)
    )
  )

并重新启动SQL Developer。

即使已从tnsnames.ora中删除名称,连接配置也将保留名称(XE.WORLD)。如果不存在,则在尝试连接时,它将返回该误导性错误。

我的设置:SQL Developer 4.1.4.21,ojdbc8.jar,连接到Oracle 19c。