SQL开发工具启动失败



我刚刚在Windows Vista机器上安装了SQL Developer 4.1.1 64-bit,在c:sqldeveloper目录下。

我的Java安装在c:program filesjava和我有两个子目录:

c:program filesjavajdk1.8.0_31
c:program filesjavajdk1.8.0_25

我已经修改了jdf.confsqldeveloper.conf文件c/sqldeveloper/sqldeveloper/bin目录。jdf.conf为空,我添加了以下行:

SetJavaHome

c:program filesjavajdk1.8.0_31

sqldeveloper.conf:

#SetJavaHome ../../jdk    <===== This is what is was 
SetJavaHome c:/program files/java/jdk1.8.0_31 <======= I changed it to this

我甚至移动了丢失的文件"msvcr100.dll"它要求c:/sqldeveloper/sqldeveloper/bin directory .

我得到了以下错误信息:

  1. 这个应用程序启动失败,因为没有找到msvcr100.dll。重新安装此应用程序可能会解决此问题

  2. 无法启动位于路径

    的java虚拟机

    c: sqldeveloper jdk jre bin server jvm.dll

文件msvcr100.dll在Java目录c:/program files/java/jdk1.8.0_31/bin下。

文件jvm.dll在Java目录下c:/program files/java/jdk1.8.0_31/bin/jre/bin/server .

修改了product.conf:

#SetJavaHome /path/jdk   <===== This is what it was
SetJavaHome C:/Program Files/Java/jdk1.8.0_31   <====== This is what I changed it to

我在sqldeveloper/sqldeveloper/bin文件夹和c:/program files/java/jdk1.8.0_31/bin文件夹中有msvcr100.dll的副本。

要运行SQL Developer,我单击c:/sqldeveloper/sqldeveloper/bin目录中的sqldeveloper.exe

我是否以正确的方式运行它?

我自己也遇到了同样的问题,试图在Windows Server 2008上运行SQL Developer 4.1.1 64位JDK。在过去的几年里,我已经安装了很多次SQL Developer。从X升级到4.1.1,直到现在才遇到这个问题。

我通过将MSVCR100.dll文件从sqldeveloperjdkjrebin复制到sqldevelopersqldeveloperbin文件夹来解决这个问题。

更新3/18/2017 :

在从Oracle网站下载最新版本时,我在安装说明中发现了这一点,它确认并解释了这个问题:

注意:Windows EXE需要MSVCR100.dll才能运行。大多数计算机已经有这个文件,并且在Windows的PATH中。但是,如果EXE找到的文件的第一个副本是DLL的32位副本,则SQL Developer将无法启动。您可以通过将64位版本的DLL复制到BIN目录或更新您的操作系统PATH来修复此问题,以便首先找到64位的DLL副本。

只创建/sqldeveloper/jdk/bin目录并复制该目录下的msvcr100.dll文件

那么/bin不存在就是在/sqldeveloper/jdk

我在本地系统上遇到过类似的问题。我通过将bin目录从insatallation_directory/jdk/jre复制到insatallation_directory/jdk/

解决了这个问题

需要将sqldeveloper/jdk/jre/bin/msvcr100.dll中的msvcr100.dll文件拷贝到sqldeveloper/sqldeveloper/bin/中。然后再次打开SQL Developer

您只需要在sqldeveloper sqldeveloperjdkbin中创建目录bin,并将msvcr100.dll文件复制到这个新目录中。

在最新版本中遇到同样的问题。

有趣的是,msvcr100.dll存在于JRE 1.8.0_251中,但不存在于JDK 1.8.0_261包含的JRE中。即使我运行附带JDK的SQL Developer,它也试图使用我安装的JRE 1.8.0_261。

解决方案是简单地从任何其他地方(如jre1.8.0_251bin或甚至Windows/System32)复制丢失的msvcr100.dll到SQL Developer使用的JRE。在我的例子中,jdk1.8.0_261jrebin.

最新更新